| Robin Milner. A proposal for Standard ML. In Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, pages 184--197, August 1984. |
....restrictive typing systems have been the norm. By contrast, programming language semantics has tended to focus on expressiveness (and functions) rather than logic, and hence depended on a less restrictive, or polymorphic, type systems. For example, Milner s functional language ML in [Milner 84] used a polymorphic type theory (Curry s system) In Type Theory there are attempts at unifying the various formalisms (see [de Bruijn 78] Barendregt 92] and [NK 94] so that results can be carried across theories without duplication of work. It is moreover elegant to have unique ....
.... calculus. PT 1 is the Chierchia Turner system of [Chierchia, Turner 88] TH is the system of [Kamareddine 92b] L is the system of [Kamareddine 94a] P is the system of Parsons in [Parsons 79] is the system of [KK93] L is the system of [Kamareddine 92a] ML is Milner s ML system of [Milner 84] 2 Property Theories Our interest in property theory stems from the fact that properties and propositions are strongly related and provide the logical part of the system (whereas type theory is going to provide the expressive part of the system) Our domain of properties will satisfy important ....
Milner, R., A proposal for standard ML, in proceedings of the ACM Symposium on Lisp and Functional Programming, Austin, 1984.
....restrictive typing systems have been the norm. By contrast, programming language semantics has tended to focus on expressiveness (and functions) rather than logic, and hence depended on a less restrictive, or polymorphic, type systems. For example, Milner s functional language ML in [35] used a polymorphic type theory (Curry s system) In Type Theory there are attempts at unifying the various formalisms (see [5] 3] and [25] so that results can be carried across theories without duplication of work. It is moreover elegant to have unique formulations of Type Theories. After ....
....C C C C C P L L ML is the system of [22] is the type free calculus. PT 1 is the Chierchia Turner system of [6] TH is the system of [15] L is the system of [20] P is the system of Parsons in [36] is the system of [18] L is the system of [14] ML is Milner s ML system of [35]. 2 Property theories Our interest in property theory stems from the fact that properties and propositions are strongly related and provide the logical part of the system (whereas type theory is going to provide the expressive part of the system) Our domain of properties will satisfy important ....
Milner, R., A proposal for standard ML, in proceedings of the ACM Symposium on Lisp and Functional Programming, Austin, 1984.
....Luca Cardelli helped to solidify the ideas, and a limited prototype of modules implemented by Cardelli in Pose 3 of his ML system [CAR83a] has made it possible to gain valuable experience programming with modules. This paper is a companion to Robin Milner s proposal for the core of Standard ML [MIL83] and Luca Cardelli s I O proposal [CAR83b] The remainder of this section describes the motivation behind our approach to program modularization in ML and sets out the basic design principles. Section 2 describes the language constructs introduced, discusses inheritance and sharing, and indicates ....
....instances. The syntax described here will be for the basic forms; some abbreviations and enhancements that make common idioms more convenient will be described in Section 3. Some familiarity with ML would be helpful, but is not essential. The syntax used in the examples is that of Standard ML [MIL83], which may be viewed as a hybrid of LCF ML [GOR79] and Hope [BUR80] The central concept in this proposal is that of an environment structure (called an instance here) consisting of a set of bindings of types, values, and exceptions. An instance has two main functions: 1) it is a hybrid ....
R. Milner, A proposal for Standard ML, Polymorphism 1.3, December 1983. 207
..... In the presence of dependent function types, the type of all types allows the expression of parametric polymorphism [Strachey 1967, Reynolds 1983] which can be found in the programming languages CLU [Liskov et al. 1981] Ada [Ada 1980] Russell [Boehm et al. 1980, Donahue Demers 1985] and M[ [Milner 1983]. In tuitively, we can think of a polymorphic function as a function mapping types to values; a polymorphic function has a dependent type because the type of its result depends upon the value of its argument, which in this case is a type. Polymorphic functions are easily expressed in a A calculus ....
Robin Milner. A proposal for standard ML. Polymorphism, 1(3), December 1983.
....is perfect: Standard ML has a few shortcomings. In some cases there are obvious solutions, and in other cases further research is required. The Meta Language of the Edinburgh LCF theorem proving system [12] evolved into a freestanding programming environment [7] and then into Standard ML [29, 26]. After further evolution the language is fairly stable [31] This is a critique of the language from two perspectives: the user s and the implementor s. The first part of this paper describes why ML is a pleasant language to use, and the second shows how some of these language features are ....
....inadequate to handle reference cells. A more appropriate type for f might be (8ff: ff ff)ref ) with the quantifier nested inside the ref constructor; but the ML type inference system cannot cope with inner quantifiers. Cardelli s ML compiler [7] and the initial proposal for Standard ML [29], required that reference cells be completely monomorphic; that is, the compiler must be able to infer a type without type variables for any argument of the ref constructor. This is certainly safe, but insufficiently flexible. Tofte[41] generalized this idea, introducing weakly polymorphic ....
[Article contains additional citation context not shown here]
Robin Milner. A proposal for Standard ML. In ACM Symposium on LISP and Functional Programming, pages 184--97, New York, 1984. ACM Press.
....if the underlying semantics of expressions is fully abstract. The converse is false, however, and it seems intriguing (and perhaps easier) to study faithfulness in isolation from full abstraction. In this paper, we give semantics for a language with recursive polymorphic types, like Standard ML [5]. Imitating MacQueen, Plotkin, and Sethi, we adopt and extend the ideal model [6] In the ideal model, type expressions are interpreted as ideals, certain subsets of the universe of values. We place new restrictions on ideals, defining the classes of generated ideals, coarse ideals, and abstract ....
Robin Milner. A proposal for Standard ML. In Proceedings of the 1984.
....(i.e. stronger than those based on nite state automata) in a very compact way. It is important to understand that this model is not only a theoretical framework, but also to a computational one due to the existence of adequate programming languages, like Pizza Java [11] and other ML languages [10]. In a theoretical paper [8] we have extensively developed the POS model. The current section brie y summarizes its main characteristics. The three kinds of rules available in POS are: type 1 trigger z h(sk ; par) world)i [Send] consequence z h(sk 0 ; par 0 ) ....
R. Milner. A proposal for standard ml. In ACM Conference on Lisp and Functional Programming, 1987.
....views in PS algol [Atk85] The work on PS algol has evolved into the design of Napier which supports relational types and operations. In Napier, a column in a relation can be of any type permitted in the language (including procedure) Galileo is a strongly typed, interactive DBPL based on ML [Mil84] Galileo is designed to support semantic data model features (classification, aggregation, and specialization) as well as the abstraction mechanisms of modern programming languages (types, abstract types, and modularization) In Galileo, the database is part of a global environment inside which ....
R. Milner. A proposal for standard ML. In Proceedings of the 1984 ACM Symposium on Lisp and Functional Progrmming, pages 184--197, Austin, Texas, August 1984.
.... [JK86] or a constraint solver [JK91] It is of course central in systems making the notion of rule an explicit and rst class object, like expert systems, programming languages based on equational logic [O D77] algebraic speci cations (e.g. OBJ [GKK 87] functional programming (e.g. ML [Mil84] and transition systems (e.g. Murphi [DDHY92] It is hopeless to try to be exhaustive and the cases we have just mentioned show part of the huge diversity of the rewriting concept. When one wants to focus on the underlying notions, it becomes quickly clear that several technical points should ....
R. Milner. A proposal for standard ML. In Proceedings ACM Conference on LISP and Functional Programming, 1984.
....order to give an operational semantics to the rules used in the ELAN language. We conclude by providing some of the research directions that are of main interest in the development of this formalism and in the context of ELAN, and more generally of rewrite based languages as ASF SDF [Kli93] ML [Mil84] Maude [CELM96] Stratego [Vis99] or CafeOBJ [FN97] 2 Recursion and term traversal operators In Part I we have shown that for any reduction in a rewrite theory there exists a corresponding reduction in the calculus: if the term u reduces to the term v in a rewrite theory R we can build a ....
R. Milner. A proposal for standard ML. In Proceedings ACM Conference on LISP and Functional Programming, 1984.
....provers or proof checkers. A very attractive formal setting for expressing both programs and provers is the concept of rewriting. The notions of rewriting logic [14] and of rewriting calculus [7] provide the formal background for systems like ASF SDF [10] CafeOBJ [12] ELAN [5] MAUDE [9] or ML [15]. In this context, we got interested by the so called predicate prover that is used for proving the correctness of the inference rules from Atelier B [2] The representation of a theorem prover like the predicate prover in the rewriting calculus allows us to describe in a simple and expressive ....
R. Milner. A proposal for standard ML. In Proceedings ACM Conference on LISP and Functional Programming, 1984.
....to a set of rewrite rules. Starting from this representation we showed how the calculus [CK99a,Cir00] can be used to give a semantics to ELAN [KKV93,BKK 98] 1 rules and strategies. This could be applied to many other frameworks, including rewrite based languages like ASF SDF [Deu96] ML [Mil84] Maude [CELM96] CafeOBJ [FN97] or Stratego [Vis99] but also production systems and non deterministic transition systems. In the context of rewriting logic [Mes92] proof terms are a subset of terms but there exist terms that do not correspond to any proof in rewriting logic. This extends ....
R. Milner. A proposal for standard ML. In Proceedings ACM Conference on LISP and Functional Programming, 1984.
....ffl context type information. Two main approaches to infer type information statically can be distinguished: Milner style unification (functional approach) and Kaplan Ullman fixed point iteration (imperative approach) 2] 2.1. Milner style Unification Due to the type discipline of ML [10, 4] a static typing of polymorphic functions is possible. This functional approach to type inference tries to relate the types of all language expressions to each other via type variables. The relations of program structures are reflected in equations of type expressions which, as suggested by Milner ....
Milner, R. A proposal for standard ML. In ACM Symposium on Lisp and Functional Programming (1984) 184--197.
....until the operator is applied to the operand. By delaying the type checking, a form of polymorphism is achieved. For example, the self apply function lx.xx, can be written in SASL self x = x x Such functions are more difficult if not impossible to write in strongly typed languages such as ML [8]. Category 15 is typically the binding mechanism used in 7 read statements, in projections out of a union and to bind file names to external files. For example, the statement let a = readi ( forms a binding between the name a and the value read in. We use the procedure to indicate that an ....
Milner, R. "A proposal for standard Ml". Technical Report CSR-157-83. University of Edinburgh. (1983).
....may be passed to a procedure. 40 Moreover, a type complete language should provide for the definition of new parameterizable data types to prevent, for example, the need to write different procedures to manipulate a stack of integers and a stack of strings. Many programming languages such as ML [Milner 84] provide such polymorphism and Atkinson and Buneman [Atkinson 87] conclude that polymorphism of this kind is a desirable attribute of a persistent or database programming language because of the flexibility it provides in the manipulation of bulk structures such as sets of objects. Expressive ....
Milner, R.:'A Proposal For Standard ML', Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, ACM Press, pp 184 - 197, New York, August 1984.
....type checker that establishes type correctness gives us the type of every variable in the program and the query in the form of a finite type graph. Our type system is very similar to the Mycroft O Keefe type system [5] which has its roots in the type systems of functional languages such as ML [4], and which has been adopted for new logic programming languages such as Godel [2] The main differences are that for simplicity of presentation, in this paper we assume that each function symbol has one signature, and that all types appearing in the program are monomorphic, i.e. we do not deal ....
R. Milner. A proposal for standard ML. Conference Record of the ACM Symposium on LISP and Functional Programming, pages 184--197, 1984.
....the current blackboard and returns either the set of atoms to be retracted from the blackboard together with the computed substitution (both to be passed to the evaluation of the rest of the pattern) or the special symbol FAILURE. For the sake of simplicity, we define the functions in the ML style [28]. In the sequel, denotes multiset difference and R i (i=1,2) stands for the i th component of R. The application of a substitution to a set of atoms is meant to be component wise, e.g. if Blackboard= a 1 , a k then (Blackboard)q = a 1 q, a k q . Let Substitution be the set of ....
Milner, R. A proposal for Standard ML. In Proceedings of 1984 ACM Symposium on LISP and Functional Programming (1984), pp. 184--197.
....of the core logic that resulted in the translation of the higher level constructs. This text file was then fed to a modified version of the cosmos symbolic simulator. In a more recent system, called Voss[32] developed at the University of British Columbia, the meta language is a dialect of ML[27]. Here, the modified version of the symbolic simulator is incorporated directly in the language and thus the user interacts directly with the evaluator through the ML language. For more details of this system, the reader is referred to [32] Given that the verification system is embedded in a ....
R. Milner, "A Proposal for Standard ML", Proceedings of ACM Conference on LISP and Functional Programming, Austin, TX, Aug. 1984, pp. 184-197
....4, 1995 10:48 AM Page 1 Compiling a Functional Language Luca Cardelli AT T Bell Laboratories Murray Hill, New Jersey 07974 1. Introduction This paper summarizes my experience in implementing a compiler for a functional language. The language is ML 1 [Milner 84] and the compiler was first implemented in 1980 as a personal project when I was a postgraduate student at the University of Edinburgh 2 . In this paper, the ML compiler refers to my VAX implementation. At the time, I was familiar with programming language semantics but knew very little ....
R.Milner: "A proposal for Standard ML" Internal Report CSR-157-83, Dept of Computer Science, University of Edinburgh.
....tail, map, append, etc. for each data type of which it is desired to have lists. In contrast, the language LISP has just one set of list primitives which are applicable to lists of any type. This simplifies and clarifies programs, and permits a more abstract programming style. Languages like ML[6] have a static type system that allows functions (like cons) to be polymorphic[7] That is, the language is type checked at compile time, but the cons function can be used to build lists of any type of object. For example, the simplest polymorphic function is the identity function, x:x) which ....
Robin Milner. A proposal for Standard ML. In ACM Symposium on LISP and Functional Programming, pages 184--197, 1984. 9
No context found.
Robin Milner. A proposal for Standard ML. In Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, pages 184--197, August 1984.
No context found.
R. Milner, "A Proposal for Standard ML", Proceedings of ACM Conference on LISP and Functional Programming, Austin, TX, Aug. 1984, pp. 184--197
No context found.
R. Milner. A proposal for standard ML. In ACM Conference on Lisp and Functional Programming, 1987.
No context found.
R. Milner. A Proposal for Standard ML. Proceedings of the 1984 ACM Symposium on LISP and Functional Programming , Austin, Texas, 1984.
No context found.
Milner, R., A proposal for standard ML, in: ACM Symp. on Lisp and functional programming, Texas, pp 184-197, 1984.
First 50 documents Next 50
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