| R. MILNER et al. Standard ML Proposal. Polymorphism, the ML/LCF/Hope newsletter, 1985. |
....machines, garbage collection, orphan processes elimination. 1.0 The LCS Project The LCS project began in 1985, aimed at studying implementation of modern parallel programming formalisms. This goal was to be achieved through the design and implementation of a language that would have at least CCS [Mil80] capabilities for parallel programming, and be as ergonomic as the most advanced functional languages, such as ML [Gor79] This short note summarizes this design and implementation experiment. The language LCS and its implementations evolved, through several versions [Ber85] Ber88] from a ....
....processes either in background, or in foreground; agents ultimately operate on files, implemented as files of the host operating system, and for which an interface is provided in 5 LCS. The simulator allows to expand, under full control of the user, one agent at a time; the CCS expansion theorem [Mil80] constitutes the expansion rule there. 3.0 The Implementations Architecture of implementations Among requirements for LCS were very fast strong processes creation, combined with automatic memory allocation and reclamation. LCS processes are not implemented as host s operating system processes; ....
R. MILNER et al. Standard ML Proposal. Polymorphism, the ML/LCF/Hope newsletter, 1985.
.... E j E E j E E j E E j int j ( E ) E : E T j E T j T T : T F j T F j F F : int j ( E ) If the language also contains prefix and postfix operators, then the unambiguous grammar will be surprisingly large. If a language has user defined operators as for example ML [15] and PROLOG [18] it is also very convenient to use precedences. When a new operator is introduced, the grammar is augmented with a new production, and it is hard to imagine how a user should indicate where this production should be placed in an unambiguous grammar with different nonterminals. ....
....with higher precedence has less binding power than one with lower precedence. Thus, for the usual arithmetic operators the addition operator has higher precedence than the multiplication operator . This convention of precedence is used for example in PROLOG [18] and OBJ [13] In for example ML [15] and Hope [6] the opposite convention is used, and multiplication is said to have higher precedence than addition. Since precedences have to do with structure we have to consider parse trees or syntax trees instead of strings when we talk about which language a precedence grammar defines. We will ....
[Article contains additional citation context not shown here]
Robin Milner. Standard ML Proposal. Polymorphism: The ML/LCF/Hope Newsletter, 1(3), January 1984.
....j E E j E E j E E j int j ( E ) E : E T j E T j T T : T F j T F j F F : int j ( E ) If the language contains also prefix and postfix operators, then the unambiguous grammar will be surprisingly large. 1 If a language has user defined operators, as for example ML [15] and PROLOG [20] it is also convenient to use precedences. When a new operator is introduced, the grammar is augmented with a new production, and it is hard to imagine how a user would be able to indicate where to place this production in an unambiguous grammar with different nonterminals. When ....
Robin Milner. Standard ML Proposal. Polymorphism: The ML/LCF/Hope Newsletter, 1(3), January 1984.
....precedence than the productions E : E E and E : E E. We use a slightly unusual convention that, for example, must be given higher precedence than if we would like the usual binding of the arithmetic operators. A more complicated example is a subset of the grammar for SML as defined in [Mil84] (in later descriptions [MTH90] the grammar is slightly changed) E : AE j E AE j case E of M AE : int j id M : P = E P : int j id This grammar generates, for example, two R ambiguous parse trees for the sentence case e of 0 = f 2: 2 The R stands for recursive. We will later ....
Robin Milner. Standard ML Proposal. Polymorphism: The ML/LCF/Hope Newsletter, 1(3), January 1984.
....generated at random. SimLog: a program which takes a list of 100 random numbers and produces 100 random boolean values. These programs were used to compare the performance of GM C with the G machine described in [2, 11] and also with Simon Croft s implementation of Turner s KRC [13] and ML [8], a strict functional language. We also provide performance figures for two of chosen benchmark programs in C. These programs were implemented in a functional style. A different implementation of these algorithms in C may bring a better performance. InsOrd and SimLog make use of lazy evaluation, ....
R.Milner, Standard ML proposal, Polimorphism: The ML/LCF/Hope Newsletter, 1(3), January 1984.
....that are usually considered to be purely semantical notion; for instance, in this example we define internally the notion of value of a polynomial expression. ffl Type theory can be seen as a functional programming language, whose main feature compared to other functional languages (like ML [36] and Haskell [26] is the use of dependent types. ffl No use of domain theory. This is to be contrasted with the LCF approach [21] Either we represent directly a program as a term of type theory, or if we want to consider a possibly non terminating program, we represent it as an inductively ....
R. Milner. Standard ML Proposal. Polymorphism: The ML/LCF/Hope Newsletter, 1(3), January 1984.
....Section 8 concludes the paper. We assume that the reader has some familiarity with lazy functional languages such as SASL [Tur76] Miranda [Tur85] or Lazy ML. Program examples in this paper will be given in Lazy ML (LML) a lazy and completely functional variant of ML [GMW79] Like SML [Mil84], LML has borrowed the concrete data types and pattern matching from HOPE [BMS80] LML is the source language for a compiler that compiles into efficient machine code that performs graph reduction [Aug84, Joh84] 2 A brief introduction to attribute grammars An attribute grammar is a ....
R. Milner. Standard ML proposal. Polymorphism: The ML/LCF/Hope Newsletter, 1(3), January 1984.
.... Lazy Functional Languages: An introduction Thomas Johnsson Functional programming languages, like Hope [BMS80] ML [GMW79] [Mil84] and Miranda [Tur85] offer an attractive alternative to conventional imperative ones [Bac78] Tur81] In a functional language, executing a program corresponds to computing the value of an expression. In contrast to imperative languages, there are no notions of statements or updatable variables ....
....suitable for exploitation of the cheap and abundant computing power made available by the vlsi technology. Among functional languages, a distinction is made between lazy ones and strict ones. In a functional language with strict evaluation (call by value, applicative order reduction) like ML [GMW79, Mil84], as well as in conventional imperative languages, a function call is evaluated by first evaluating the arguments of the function. On the other hand, in a functional language with lazy evaluation (call by need, normal order reduction) expressions are not evaluated until absolutely necessary. In a ....
R. Milner. Standard ML proposal. Polymorphism: The ML/LCF/Hope Newsletter, 1(3), January 1984.
No context found.
R.Milner, `Standard ML proposal', The ML/LCF/Hope Newsletter, 1, (3), January 1984.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC