## Principal Signatures for Higher-order Program Modules (1993)

Citations: | 31 - 0 self |

### BibTeX

@MISC{Tofte93principalsignatures,

author = {Mads Tofte and Mds Torre},

title = {Principal Signatures for Higher-order Program Modules},

year = {1993}

}

### OpenURL

### Abstract

In this paper we present a lmguage for progq'amming with higher-order modules. t The lmguage, HML, is based on Stmdm'd ML in that it provides structures, signatures md functors. In HML, functors cm be declm'ed inside structures md specified inside signatures; this is not possible in Stmdm'd ML.

### Citations

1619 | The definition of Standard ML
- Milner, Tofte, et al.
- 1997
(Show Context)
Citation Context ...sion elaborates to a principal type scheme, if it elaborates at all. Similarly, for first-order ML-style modules, a signature elaborates to a principal signature, if it elaborates at all(Tofte, 1988; =-=Milner and Tofte, 1991-=-). The existence of principal signatures is more than just evidence of a certain technical coherence in the semantics; it is also essential for the practical use of the modules system. Assume that sig... |

978 | A theory of type polymorphism in programming
- Milner
- 1978
(Show Context)
Citation Context ...s for signature expressions by proving that if a signature expression is legal according to the semantics, then it has a so-called principal signature, the modules equivalent of principal type scheme(=-=Milner, 1978; Dam-=-as and Milner, 1982). In Section 2 we give the grammar for HML and explain the language informally. In Section 3 we define the static semantics of signature expressions and specifications using "... |

243 |
R.: Principal type schemes for functional programs
- Damas, Milner
- 1982
(Show Context)
Citation Context ...e expressions by proving that if a signature expression is legal according to the semantics, then it has a so-called principal signature, the modules equivalent of principal type scheme(Milner, 1978; =-=Damas and Milner, 1982). In Section 2-=- we give the grammar for HML and explain the language informally. In Section 3 we define the static semantics of signature expressions and specifications using "natural semantics" (or "... |

202 | Modules for Standard ML - MacQueen - 1984 |

138 | Higher-order modules and the phase distinction - Harper, Mitchell, et al. - 1990 |

132 |
Typechecking Records and Variants in a Natural Extension of ML
- Rémy
- 1989
(Show Context)
Citation Context ... we also need to be able to "add" components to flexible structures in A; this later operation is less trivial to model by substitution, as is known from work on polymorphic record typing(Wa=-=nd, 1989; R'emy, 1989-=-). It is possible to use a record type discipline to express the widening of structures(Aponte, 1992; Aponte, 1993). We have chosen a different approach, namely to consider ' to be a relation between ... |

117 | Type inference for record concatenation and multiple inheritance
- Wand
- 1991
(Show Context)
Citation Context ...y names, but we also need to be able to "add" components to flexible structures in A; this later operation is less trivial to model by substitution, as is known from work on polymorphic reco=-=rd typing(Wand, 1989-=-; R'emy, 1989). It is possible to use a record type discipline to express the widening of structures(Aponte, 1992; Aponte, 1993). We have chosen a different approach, namely to consider ' to be a rela... |

94 | Operational Semantics and Polymorphic Type Inference
- Tofte
- 1988
(Show Context)
Citation Context ... in a special place in the basis: a structure name m is rigid in B, if m 2 N of B. The substitutions produced by structure unification are referred to as realisations (Harper, Milner and Tofte, 1987; =-=Tofte, 1988-=-; Milner, Tofte and Harper, 1990): Definition 6 (Realisation) Let ' be a map ' : StrName ! StrName. The support of ', written Supp('), is the set of names m such that '(m) 6= m. The map ' is a realisa... |

57 | An algebraic semantics approach to the effective resolution of type equations - Aı̈t-Kaci - 1986 |

24 |
A type discipline for program modules
- Harper, Milner, et al.
- 1987
(Show Context)
Citation Context ...ains no free names. An HML signature expression elaborates to a closed signature, unless it specifies sharing with a structure which is declared or specified outside the signature expression. In ModL(=-=Harper et al., 1987-=-), the first-order version of HML, there is a close correspondance between the type discipline for modules and Milner's type discipline for functional languages(Milner, 1978), namely: Modules Language... |

13 | Extending record typing to type parametric modules with sharing
- Aponte
- 1993
(Show Context)
Citation Context ... model by substitution, as is known from work on polymorphic record typing(Wand, 1989; R'emy, 1989). It is possible to use a record type discipline to express the widening of structures(Aponte, 1992; =-=Aponte, 1993-=-). We have chosen a different approach, namely to consider ' to be a relation between semantic objects, expressed in terms of (very elementary) category theory. Definition 7 (The category K) K is the ... |

2 |
Typage d'un systeme de modules parametriques avec partage: une application de l'unification dans les theories equationnelles
- Aponte
- 1992
(Show Context)
Citation Context ...ess trivial to model by substitution, as is known from work on polymorphic record typing(Wand, 1989; R'emy, 1989). It is possible to use a record type discipline to express the widening of structures(=-=Aponte, 1992-=-; Aponte, 1993). We have chosen a different approach, namely to consider ' to be a relation between semantic objects, expressed in terms of (very elementary) category theory. Definition 7 (The categor... |

1 | An algebraic scmmtics approach to the effective resolution of type equations - Kaci, H - 1986 |

1 | Extending record typing to type pm'amctric modules with shm'ing - Apontc - 1993 |

1 | Typagc d'un systgmc de modules paramtriqucs avcc partage: unc application de l'unification dans les theories quationnelles - Apontc - 1992 |

1 | Principal type schemes for functional prog'ams - Damas, R - 1982 |

1 | Higher-order modules md the phase distinction - Hm'pcr, Mitchell, et al. - 1990 |

1 | A type discipline for prog'am modules - Hm'pcr, Milner, et al. - 1987 |

1 | Modules for Stmdm'd ML - MacQueen - 1984 |

1 | A theory of type polymorphism in prog'amming - Milner - 1978 |

1 | md Hm'pcr R - Milner, Toftc - 1990 |

1 | Typcchccking records md vm'imts in a natural extension of ML - Rdmy - 1989 |

1 | Operational Semantics and Polymorphic Type Inference - Toftc - 1988 |

1 | Type inference for record concatenation md multiple inhcritmcc - Wined - 1989 |