## A Syntactic Theory of Type Generativity and Sharing (1996)

### Cached

### Download Links

- [pauillac.inria.fr]
- [www-2.cs.cmu.edu]
- [www.cs.cmu.edu]
- [gallium.inria.fr]
- [pauillac.inria.fr]
- [cristal.inria.fr]
- [ftp.inria.fr]
- DBLP

### Other Repositories/Bibliography

Citations: | 56 - 3 self |

### BibTeX

@MISC{Leroy96asyntactic,

author = {Xavier Leroy},

title = {A Syntactic Theory of Type Generativity and Sharing},

year = {1996}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper presents a purely syntactic account of type generativity and sharing -- two key mechanisms in the SML module system -- and shows its equivalence with the traditional stamp-based description of these mechanisms. This syntactic description recasts the SML module system in a more abstract, type-theoretic framework.

### Citations

775 | On understanding types, data abstraction, and polymorphism - Cardelli, Wegner - 1985 |

270 | A type-theoretic approach to higher-order modules with sharing
- Harper, Lillibridge
(Show Context)
Citation Context ...nstraints are not accounted for. The purpose of the present paper is to show that a simple extension of the typetheoretic approach — the introduction of type equalities in signatures, as proposed in=-= (Harper and Lillibridge, 1994; -=-Leroy, 1994) — succeeds in capturing a reasonable notion of type identity: we will prove that a type system for a simplified module language, derived from (Leroy, 1994), expresses exactly the same n... |

225 | Manifest types, modules, and separate compilation
- Leroy
- 1994
(Show Context)
Citation Context ...r. The purpose of the present paper is to show that a simple extension of the typetheoretic approach — the introduction of type equalities in signatures, as proposed in (Harper and Lillibridge, 1994=-=; Leroy, 1994) -=-— succeeds in capturing a reasonable notion of type identity: we will prove that a type system for a simplified module language, derived from (Leroy, 1994), expresses exactly the same notion of type... |

200 | Modules for Standard ML
- MacQueen
- 1986
(Show Context)
Citation Context ...Unfortunately, this simple approach does not extend easily to more powerful module and type abstraction systems, in particular those that feature parameterized abstractions, known as functors in SML (=-=MacQueen, 1984-=-; Harper et al., 1987). The main reason is that if the result of a functor contains a generative type declaration, then a new type must be generated for each application of the functor. Otherwise, two... |

196 |
Abstraction and Specification in Program Development
- Liskov, Guttag
- 1986
(Show Context)
Citation Context ... where a named type t is equipped with operations f, g, . . . then the concrete implementation of t is hidden, leaving an abstract type t that can only be accessed through the operations f, g, . . . (=-=Liskov and Guttag, 1986-=-). Type generativity plays a crucial role in type abstraction, since making a type t abstract amounts to generating a new type t incompatible with any other type, including its concrete representation... |

140 | Typeful programming
- Cardelli
- 1989
(Show Context)
Citation Context ... generated at different times will always be represented by different variables. A number of type systems have been developed along these lines (Mitchell and Plotkin, 1988; Cardelli and Wegner, 1985; =-=Cardelli, 1989-=-; Cardelli and Leroy, 1990), more type-theoretic in flavor than the stamp-based descriptions. These type systems are relatively easy to extend and reason about, but generally fail to account for the e... |

138 | Higher-order modules and the phase distinction
- Harper, Mitchell, et al.
- 1990
(Show Context)
Citation Context ...d via a completely different approach based on strong sums instead of manifest types (MacQueen, 1986), but strong sums raise serious theoretical and practical difficulties (Harper and Mitchell, 1993; =-=Harper et al., 1990) which -=-are avoided in the “manifest types” approach. In addition to recording and propagating type equalities, manifest types also palliate the other deficiencies of the “dot notation” approach descr... |

126 | Using dependent types to express modular structure
- MacQueen
- 1986
(Show Context)
Citation Context ...for the expected behavior of type generativity: new types are generated insA syntactic theory of type generativity and sharing 3 situations where the identity of an existing type should be preserved (=-=MacQueen, 1986);-=- moreover, sharing constraints are not accounted for. The purpose of the present paper is to show that a simple extension of the typetheoretic approach — the introduction of type equalities in signa... |

108 | Applicative functors and fully transparent higher-order modules
- Leroy
- 1995
(Show Context)
Citation Context ...logy of (MacQueen and Tofte, 1994), full transparency is not achieved. The author has proposed an extension of the “manifest types” mechanism that ensures full transparency for higher-order functo=-=rs (Leroy, 1995),-=- but this system does not offer the same notion of type generativity as MacQueen and Tofte’s static semantics. Finding a type system for higher-order functors that is equivalent to MacQueen and Toft... |

103 | On the type structure of Standard ML
- Harper, Mitchell
- 1993
(Show Context)
Citation Context ...ualities can also be ensured via a completely different approach based on strong sums instead of manifest types (MacQueen, 1986), but strong sums raise serious theoretical and practical difficulties (=-=Harper and Mitchell, 1993; Harp-=-er et al., 1990) which are avoided in the “manifest types” approach. In addition to recording and propagating type equalities, manifest types also palliate the other deficiencies of the “dot not... |

59 | A semantics for higher-order functors - MacQueen, Tofte - 1994 |

54 | Abstract types and the dot notation
- Cardelli, Xavier
- 1990
(Show Context)
Citation Context ...fferent times will always be represented by different variables. A number of type systems have been developed along these lines (Mitchell and Plotkin, 1988; Cardelli and Wegner, 1985; Cardelli, 1989; =-=Cardelli and Leroy, 1990-=-), more type-theoretic in flavor than the stamp-based descriptions. These type systems are relatively easy to extend and reason about, but generally fail to account for the expected behavior of type g... |

24 |
A type discipline for program modules
- Harper, Milner, et al.
- 1987
(Show Context)
Citation Context ...his simple approach does not extend easily to more powerful module and type abstraction systems, in particular those that feature parameterized abstractions, known as functors in SML (MacQueen, 1984; =-=Harper et al., 1987-=-). The main reason is that if the result of a functor contains a generative type declaration, then a new type must be generated for each application of the functor. Otherwise, two different structures... |

15 | Persistence and type abstraction
- Cardelli, MacQueen
- 1985
(Show Context)
Citation Context ...f the body e of the open construct. This approach provides a simple and elegant treatment of type abstraction. Its main weakness is that it does not correctly preserve the identity of abstract types (=-=Cardelli and MacQueen, 1988-=-): if open is applied twice to the same structure, the two sets of type identifiers thus introduced will not match; hence, types are generated when structures are opened, not when they are created. As... |

13 | Extending record typing to type parametric modules with sharing
- Aponte
- 1993
(Show Context)
Citation Context ...ModL used in this paper is derived from the ModL calculus introduced by Tofte et al. to study the related notions of structure sharing and generativity (Harper et al., 1987; Tofte, 1988; Tofte, 1992; =-=Aponte, 1993-=-). TypModL features generative and non-generative type declarations, structures, and first-order functors. The main simplification with respect to the SML module system is that structures have no valu... |

9 | Abstraction and Speci in Program Development - Liskov, Guttag - 1986 |

1 |
An error in rule 55 of the definition of Standard ML
- Gran
- 1995
(Show Context)
Citation Context ...om(Σ2), and Σ1(x) ≻ Σ2(x) for all x ∈ Dom(Σ2). The constraint N ∩ (W ∪ F S(Σ)) = ∅ in rule 5 ensures that fresh stamps are assigned to the generative types in the functor result (Milner=-= et al., 1990; Gran, 1995).-=- Elaboration of signature expressions (rules 11–15) is straightforward, except that the rule for type components (rule 13) allows any type, not only fresh stamps, to be assigned to the type identifi... |

1 | An error in rule 55 of the de of Standard ML - Gran - 1995 |