Results 1  10
of
69
Natural semantics
 In Proc. 4th Annual Symp. Theoretical Aspects of Computer Science, number 247 in Lect. Notes in Comp. Sci
, 1987
"... During the past few years, many researchers have begun to present semantic specifications in a style that has been strongly advocated by Plotkin in [19]. The purpose of this paper is to introduce in an intuitive manner the essential ideas of the method that we call now Natural Semantics ~ together w ..."
Abstract

Cited by 350 (2 self)
 Add to MetaCart
(Show Context)
During the past few years, many researchers have begun to present semantic specifications in a style that has been strongly advocated by Plotkin in [19]. The purpose of this paper is to introduce in an intuitive manner the essential ideas of the method that we call now Natural Semantics ~ together with its connections to ideas in logic and computing. Natural Semantics is of interest per se and because it is used as a semantics specification formalism for an interactive computer system that we are currently building at INRIA. 1.
Type Inference with Polymorphic Recursion
 Transactions on Programming Languages and Systems
, 1991
"... The DamasMilner Calculus is the typed Acalculus underlying the type system for ML and several other strongly typed polymorphic functional languages such as Mirandal and Haskell. Mycroft has extended its problematic monomorphic typing rule for recursive definitions with a polymorphic typing rule. H ..."
Abstract

Cited by 142 (2 self)
 Add to MetaCart
The DamasMilner Calculus is the typed Acalculus underlying the type system for ML and several other strongly typed polymorphic functional languages such as Mirandal and Haskell. Mycroft has extended its problematic monomorphic typing rule for recursive definitions with a polymorphic typing rule. He proved the resulting type system, which we call the MilnerMycroft Calculus, sound with respect to Milner’s semantics, and showed that it preserves the principal typing property of the DamasMilner Calculus. The extension is of practical significance in typed logic programming languages and, more generally, in any language with (mutually) recursive definitions. In this paper we show that the type inference problem for the MilnerMycroft Calculus is logspace equivalent to semiunification, the problem of solving subsumption inequations between firstorder terms. This result has been proved independently by Kfoury et al. In connection with the recently established undecidability of semiunification this implies that typability in the MilnerMycroft Calculus is undecidable. We present some reasons why type inference with polymorphic recursion appears to be practical despite its undecidability. This also sheds some light on the observed practicality of ML
MultiStage Programming: Its Theory and Applications
, 1999
"... MetaML is a statically typed functional programming language with special support for program generation. In addition to providing the standard features of contemporary programming languages such as Standard ML, MetaML provides three staging annotations. These staging annotations allow the construct ..."
Abstract

Cited by 96 (20 self)
 Add to MetaCart
MetaML is a statically typed functional programming language with special support for program generation. In addition to providing the standard features of contemporary programming languages such as Standard ML, MetaML provides three staging annotations. These staging annotations allow the construction, combination, and execution of objectprograms. Our thesis is that MetaML's three staging annotations provide a useful, theoretically sound basis for building program generators. This dissertation reports on our study of MetaML's staging constructs, their use, their implementation, and their formal semantics. Our results include an extended example of where MetaML allows us to produce efficient programs, an explanation of why implementing these constructs in traditional ways can be challenging, two formulations of MetaML's semantics, a type system for MetaML, and a proposal for extending ...
On the Unification Free Prolog Programs
 ACM TOPLAS
, 1998
"... We provide simple conditions which allow us to conclude that in case of several wellknown Prolog programs the unification algorithm can be replaced by iterated matching. The main tools used here are types and generic expressions for types. As already noticed by other researchers, such a replaceme ..."
Abstract

Cited by 84 (22 self)
 Add to MetaCart
We provide simple conditions which allow us to conclude that in case of several wellknown Prolog programs the unification algorithm can be replaced by iterated matching. The main tools used here are types and generic expressions for types. As already noticed by other researchers, such a replacement offers a possibility of improving the efficiency of program's execution.
Macros as multistage computations: Typesafe, generative, binding macros in MacroML
 IN MACROML. IN THE INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP ’01
, 2001
"... ..."
Type inference and semiunification
 In Proceedings of the ACM Conference on LISP and Functional Programming (LFP ) (Snowbird
, 1988
"... In the last ten years declarationfree programming languages with a polymorphic typing discipline (ML, B) have been developed to approximate the flexibility and conciseness of dynamically typed languages (LISP, SETL) while retaining the safety and execution efficiency of conventional statically type ..."
Abstract

Cited by 31 (7 self)
 Add to MetaCart
In the last ten years declarationfree programming languages with a polymorphic typing discipline (ML, B) have been developed to approximate the flexibility and conciseness of dynamically typed languages (LISP, SETL) while retaining the safety and execution efficiency of conventional statically typed languages (Algol68, Pascal). These polymorphic languages can be type checked at compile time, yet allow functions whose arguments range over a variety of types. We investigate several polymorphic type systems, the most powerful of which, termed MilnerMycroft Calculus, extends the socalled letpolymorphism found in, e.g., ML with a polymorphic typing rule for recursive definitions. We show that semiunification, the problem of solving inequalities over firstorder terms, characterizes type checking in the MilnerMycroft Calculus to polynomial time, even in the restricted case where nested definitions are disallowed. This permits us to extend some infeasibility results for related combinatorial problems to type inference and to correct several claims and statements in the literature. We prove the existence of unique most general solutions of term inequalities, called most general semiunifiers, and present an algorithm for computing them that terminates for all known inputs due to a novel “extended occurs check”. We conjecture this algorithm to be
Parsing And Derivational Equivalence
 In EACL 4
, 1989
"... It is a tacit assumption of much linguistic inquiry that all distinct derivations of a string should assign distinct meanings. But despite the tidiness of such derlvational uniqueness, there seems to be no a priori reason to assume that a gramma r must have this property. If a grammar exhibits deriv ..."
Abstract

Cited by 30 (5 self)
 Add to MetaCart
It is a tacit assumption of much linguistic inquiry that all distinct derivations of a string should assign distinct meanings. But despite the tidiness of such derlvational uniqueness, there seems to be no a priori reason to assume that a gramma r must have this property. If a grammar exhibits derivational equivalence, whereby distinct derivations of a string assign the same meanings, naive exhaustive search for all derivations will be redundant, and quite possibly intractable. In this paper we show how notions of derivationreduction and normal form can be used to avoid unnecessary work while parsing with grammars exhibiting derivational equivalence. With grammar regarded as analogous to logic, derivations are proofs; what we are advocating is proofreduction, and normal form proof; the invocation of these logical techniques adds a further paragraph to the story of parsingasdeduction.
A term model for CCS
 9 th Symposium on Mathematical Foundations of Computer Science
, 1980
"... In a series of papers [Hen2, Mill, Mi147] Milner and his colleagues have studied a model of parallelism in which concurrent systems communicate by sending and receiving values along lines. Communication is synchronised in that the exchange of values takes place only when the sender and receiver are ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
In a series of papers [Hen2, Mill, Mi147] Milner and his colleagues have studied a model of parallelism in which concurrent systems communicate by sending and receiving values along lines. Communication is synchronised in that the exchange of values takes place only when the sender and receiver are both ready, and the exchange
Comparing Curried and Uncurried Rewriting
, 1995
"... this paper we show that strong normalization (SN), weak normalization (WN), the weak ChurchRosser property (WCR), the unique normal form property (UN), completeness, and semicompleteness are preserved by currying. For leftlinear term rewrite systems we show that currying also preserves the normal ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
this paper we show that strong normalization (SN), weak normalization (WN), the weak ChurchRosser property (WCR), the unique normal form property (UN), completeness, and semicompleteness are preserved by currying. For leftlinear term rewrite systems we show that currying also preserves the normal form property (NF) and the UN
LambdaGrammars and the SyntaxSemantics Interface
, 2001
"... types in this paper are built up from ground types s, np and n with the help of implication, and thus have forms such as np s, n((np s)s), etc. A restriction on signs is that a sign of abstract type A should have a term of type A in its ith dimension. The values of the function : for ground t ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
types in this paper are built up from ground types s, np and n with the help of implication, and thus have forms such as np s, n((np s)s), etc. A restriction on signs is that a sign of abstract type A should have a term of type A in its ith dimension. The values of the function : for ground types can be chosen on a per grammar basis and in this paper are as in Table 2. For complex types, the rule is that (AB) = A B . This means, for example, that np(np s) = np(np s) = (t)((t)t) and that np(np s) = e(e(st)). As a consequence, (2c) should be of type np(np s). Similarly, (2a) and (2b) can be taken to be of type np, (3a) and (3b) are of types np s and s respectively, etc. In general, if M has abstract type AB and N abstract type A, then the pointwise application M(N) is de ned and has type B.