| Nancy Jean McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. Ph.D. thesis, Syracuse University, 1979. |
....we consider not only first order but also higher order type constructors. A type constructor is said to be higher order if it operates on type constructors rather than on types. To distinguish between types, first order and higher order type constructors, they are often assigned so called kinds [22], which can be seen as the types of types . Using the notion of kind we can state the central idea of this paper as follows: polytypic values possess types that are defined by induction on the structure of kinds. It turns out that the implementation of this idea is much simpler than one would ....
Nancy Jean McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. PhD thesis, Syracuse University, June 1979.
....predicate. Since any computable predicate can be Church encoded, it would seem possible to design a datatype of, for example, lists having prime number length. Unfortunately, this important test case could not be realised because it required that type constructors be polymorphic in kind. Kinds [McC79] are a type of types. The kind of a value records whether the value is a type or a type constructor and if it is the latter, the kinds of each of its arguments. These suggestions from Hinze and the Backhouses can be used to design nested datatypes. Unfortunately, neither describe nested datatypes ....
Nancy Jean McCracken. An investigation of a programming language with a polymorphic type structure. PhD thesis, Syracuse University, 1979.
....reviews the concepts of polytypic programming necessary for de ning type indexed data types. The subsequent sections de ne type indexed data types for the problems described in the introduction. We assume a basic familiarity with Haskell s type system and in particular with the concept of kinds [28]. For a more thorough treatment the reader is referred to Hinze s work [15, 14] 2.1 Type indexed de nitions The central idea of polytypic programming (or type indexed programming) is to provide the programmer with the ability to de ne a function by induction on the structure of types. Since ....
Nancy J. McCracken. An investigation of a programming language with a polymorphic type structure. PhD thesis, Syracuse University, June 1979.
....is the distinction between universes, every second order model may be viewed as a Core XML model with U 1 = U2. Consequently, Core XML may be interpreted in the domain theoretic and recursion theoretic models discussed by Amadio et al. 1] Bruce et al. 5] Girard [15] Troelstra [62] McCracken [34] and Mitchell [41] One difference between the languages, however, is that Core XML has classical set theoretic models, while the Girard Reynolds calculus does not [56] In fact, any model of ordinary (nonpolymorphic) typed lambda calculus may be extended to a model of Core XML by a simple ....
McCRACKEN, N. An investigation of a programming language with a polymorphc type structure. Ph.D. Thems, Syracuse Univ., 1979.
....reviews the concepts of polytypic programming necessary for defining type indexed data types. The subsequent sections define type indexed data types for the problems described in the introduction. We assume a basic familiarity with Haskell s type system and in particular with the concept of kinds [27]. For a more thorough treatment the reader is referred to Hinze s work [14, 13] 2.1 Type indexed definitions The central idea of polytypic programming (or type indexed programming) is to provide the programmer with the ability to define a function by induction on the structure of types. Since ....
Nancy J. McCracken. An investigation of a programming language with a polymorphic type structure. PhD thesis, Syracuse University, June 1979.
....to the type Type, reflexive type systems tend to obscure the distinction between types and the values they are meant to describe, and this in turn tends to complicate the task of type checking. It is, on the other hand, possible to construct reasonable semantic models for reflexive type systems [McC79, Car85]. The remaining nonreflexive languages distinguish, at least implicitly, between individual types and the universe of types to which they belong and over which type variables range. However, the second order lambda calculus, SOL, and the Calculus of Constructions (despite its contexts ) are ....
N. J. McCracken, An investigation of a programming language with a polymorphic type structure, Ph.D. Thesis, Computer and Information Science, Syracuse Univ., June 1979.
....CGW model, but there is no such simpli cation in the stable 6 case. Comparing webbed models with u.r. models. Another interesting connection is the one with universal retraction models or u:r: models, which were introduced, for the continuous semantics, by D. Scott and McCracken in [31] 32] [23], 24] and continued by Amadio Bruce Longo [1] In these models terms are interpreted as elements of a model of the untyped calculus, and types are interpreted by retractions ranging over a suitable class. The word universal refers to the fact that in these models there is a type of all types. ....
....in some cases, and continuous functions. First one xes a re exive object (M; q; ap) of Univ; namely a model of untyped calculus in this category. Then, we let c 2 M be the code in M of a universal nitary retraction [24] 32] or a universal nitary projection [1] or a universal closure [31] [23]. In the stable semantics all retractions are nitary and c can be taken as the code of any 27 universal (stable) retraction [4] The necessary background and the missing proofs below can be found in [7] which surveys the preceding works. For all u:r: models we take : T erms : M . types : f ....
N. McCracken, An Investigation of a Programming Language with a Polymorphic Type Structure, PhD Dissertation, 126 p., Syracuse University, School of Computer and Information Science, Syracuse, New York, June 1979.
....properties form an object kind and it is specified by those properties. Hence, object kinds are at a higher level than object types. The members of an object kind, if any, are object types. Object kinds have been introduced and studied in [31, 32, 26, 25, 34] The name kind has also appeared in [16, 21, 8, 9, 10], however, the connotations of this word are not the same. We will show later in Section 5 that object kinds are useful in defining parameterized types and generic functions. The relation between an object kind and its members, i.e. object types, cannot be represented as a supertype relation. ....
....(2) KINDs are at a higher level than types. A KIND does not affiliate to a specific parameterized type or a generic function. KINDs are natural entities to represent constraints on types, which make generic constructs conceptually more transparent. Notions similar to kinds have been studied in [16, 21, 20, 8, 9, 10]. The where clause of parameterized procedures and parameterized types in CLU [19] and Theta [18] as well as the with statement of generic procedures in Ada [2] are all similar to the definition of KINDs. However, unlike kinds, the where clause and the with statement are not independent entities. ....
N.McCracken, An Investigation of a Programming Language with a Polymorphic Type Structure, Ph.D thesis, Syracuse University, 1979
....y reviews the concepts of polytypic programming necessary for de ning type indexed data types. The subsequent sections de ne type indexed data types for the problems described in the introduction. We assume a basic familiarity with Haskell s type system and in particular with the concept of kinds [25]. For a more thorough treatment the reader is referred to Hinze s work [13, 12] 2.1 Type indexed de nitions The central idea of polytypic programming (or type indexed programming) is to provide the programmer with the ability to de ne a function by induction on the structure of types. Since ....
Nancy J. McCracken. An investigation of a programming language with a polymorphic type structure. PhD thesis, Syracuse University, June 1979.
....that we consider not only rst order but also higher order type constructors. A type constructor is said to be higherorder if it operates on type constructors rather than on types. To distinguish between types, rst order and higher order type constructors, they are often assigned so called kinds (McCracken, 1979), which can be seen as the types of types . Using the notion of kind we can state the central idea of this paper as follows: polytypic values possess types that are de ned by induction on the structure of kinds. It turns out that the implementation of this idea is much simpler than one would ....
McCracken, Nancy Jean. 1979 (June). An investigation of a programming language with a polymorphic type structure. Ph.D. thesis, Syracuse University.
....that we consider not only rst order but also higher order type constructors. A type constructor is said to be higher order if it operates on type constructors rather than on types. To distinguish between types, rst order and higher order type constructors, they are often assigned so called kinds [17], which can be seen as the types of types . Using the notion of kind we can state the central idea of this paper as follows: polytypic values possess types that are de ned by induction on the structure of kinds. It turns out that the implementation of this idea is much simpler than one would ....
Nancy Jean McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. PhD thesis, Syracuse University, June 1979.
....which the function space constructor behaves set theoretically is possible, classically. But, by a result of Pitts [20] such a model can be constructed in constructive set theory. Nontrivial models, term and realizability models, were already presented by Girard [14] and Troelstra [27] McCracken [18], building on ideas from Scott [25] produced the first correct domain theoretic model. It was constructed from Scott s universal domain P#, using closures (a special kind of retracts) to represent types. Following a suggestion of Scott [26] McCracken [19] has as well shown that finitary ....
N. McCracken, An investigation of a programming language with a polymorphic type structure, Ph.D. thesis, Syracuse University, 1979.
....assumption is carefully avoided, whereas in programming languages like those studied by Burstall and Lampson [5] or by Cardelli [6] it is explicitly used. Models of such calculi with the axiom Type: Type have been constructed using finitary retractions and or projections over certain domains [2, 11]. In the present paper we present a model based on rank ordered sets for a very simple type system, the simply typed calculus, extended by the axiom Type: Type. A rank ordered set is a nonempty set with a family of commuting projection functions that satisfy some additional requirements. The ....
N. McCracken, "An Investigation of a Programming Language with a Polymorphic Type Structure", PhD thesis, Syracuse University, 1979.
....satisfies a certain strictness condition. This is necessary to deal with multinary relations, and also to encompass a variety of models of the polymorphic lambda calculus in which K 0 is a subcategory of CPO or a category whose objects represent c.p.o. s. Examples include categories of closures [21], finitary retracts [22] finitary projections [23] qualitative domains [24] and DI domains [25] Such models are formulated as PL categories in [11] A more concrete viewpoint is found in [26] Definition Let K be a category and F be a functor from K to CPO. Then COMREL(K;F ) is the full ....
McCracken, N. J. An Investigation of a Programming Language with a Polymorphic Type Structure, Ph. D. Dissertation. Syracuse University, June 1979, iv+126 pp.
....inherits all the methods of C 0 . 2.4 Kinds All types that share a certain set of common properties form a kind and it is specified by those properties. Hence, kinds are one level higher entities than types. We use T 2: K to denote that type T belongs to kind K. The name kind is borrowed from [16, 25, 7, 8, 9], however, the connotation of the word is not the same. Consider words (strings) and acyclic graphs, where words can be implemented by arrays or linked lists and acyclic graphs by adjacency matrices or adjacency lists, etc. Obviously, words and acyclic graphs are two different types. Here, we name ....
....kind Arithmetic1 : Arithmetic operator ( Obviously, classes of Arithmetic1 are also those of Arithmetic, but the opposite is not true. Thus, derived kinds make it easier for programmers to express commonality among classes. 5 Comparisons Notions similar to kinds have been studied in [16, 25, 24, 7, 8, 9]. Kinds in KC are also similar to types in POOL I [2] type signatures in Russell [12] type classes in Haskell [20] signatures in G [5] etc. However, we explain in the following that our notion of kinds is different from each of the above. In second order lambda calculus, three kinds of ....
N.McCracken, An Investigation of a Programming Language with a Polymorphic Type Structure, Ph.D thesis, Syracuse University, 1979
....valider la pertinence de cette nouvelle approche. Dans le langage FX 87 [17] les informations de type et d effet doivent etre fournies par l utilisateur; le typage est dit explicite. Du fait de la puissance du syst eme de type utilis e, une extension du typage polymorphique d ordre quelconque [46], la d ecouverte d une m ethode permettant d inf erer la majorit e des informations de type et d effet telle qu elle est pr esent ee ci dessous permet d envisager une utilisation plus r ealiste de l approche propos ee par FX. Cette technique de reconstruction a et e int egr ee a la version ....
McCracken, N. J. An Investigation of a Programming Language with a Polymorphic Type Structure. PhD Thesis, Syracuse University, (Juin 1979).
....be an element of the indexing collection Type. So the question of mere existence of (non syntactically defined) models is non trivial. Domain Models. One successful attack on impredicativity uses the technology originally developed for solving recursive domain equations. The earliest such model [McC79] interprets types as operators on a suitable universal domain. An alternative, that avoids universal domains, is the model construction given by Girard [Gir86] using ideas from stable domain theory; it was later adapted by Coquand, Gunter and Winskel [CGW89] to a more traditional cpo setting. The ....
N. McCracken. An investigation of a programming language with a polymorphic type structure. PhD thesis, Syracuse University, 1979.
....of a three level type structure [Ca88, CaL90] consisting of (i) values including functional values, ii) types and type operators, and (iii) kinds, where types classify values and functions, and kinds classify types and type operators. The notion of kinds as the types of types is taken from [McC79]. Cardelli [Ca88] describes various type systems with e.g. a single type, many types, one kind, and many kinds. TYPE is introduced as the kind containing all types and POWER[A] for a type A as the kind containing all subtypes of A. Hence universal and bounded quantification from [CaW85] can now ....
McCracken, N., An Investigation of a Programming Language with a Polymorphic Type Structure. Ph.D. Thesis, Syracuse University, 1979.
....the period from 1987 to 1990, PER s were used for modelling expressive type theories by Pitts [49] Freyd and Scedrov [22] Longo and Moggi [37] Hyland [31] Breazu Tannen and Coquand [11] Mitchell [44] and Abadi and Plotkin [1] among others. Following a suggestion of Scott, in 1979 McCracken [43] devised models for polymorphism based on domains using closures and retractions of a universal domain. Amadio, Bruce, and Longo [3] devised a model using finitary projections in 1986. Also in 1986, Girard used qualitative domains and stable functions [24] and in 1989 Coquand, Gunter and Winskel ....
N. McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. PhD thesis, Syracuse University, 1979.
....Structural Polymorphism The formal basis for our proposed extensions to programming language type systems is embodied in a higher order, explicitly typed calculus which includes patterns over both types and values. This calculus, cast as an extension of the usual higher order lambda calculus (see [Gir72, Rey74, McC79]) is motivated and developed at length in the author s Ph.D. dissertation [Rue92] where it is distinguished from the more applied variety by the name analytical polymorphism. Due to space considerations, we present here only an abbreviated description of this full calculus. The calculus is ....
Nancy McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure, Ph.D. dissertation, Syracuse University, 1979.
....and the Girard Reynolds second order calculus is the distinction between universes, every second order model may be viewed as a Core XML model with U 1 = U 2 . Consequently, Core XML may be interpreted in the domain theoretic and recursiontheoretic models discussed in [ABL86, BMM90, Gir72, Tro73, McC79, Mit86b] One difference between the languages, however, is that Core XML has classical set theoretic models, while the Girard Reynolds calculus does not [Rey84] In fact, any model of ordinary (non polymorphic) typed lambda calculus may be extended to a model of Core XML by a simple ....
N. McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. PhD thesis, Syracuse Univ., 1979.
.... sets in a classical set theory (see [Rey84] although, lately, Pitts has shown how polymorphism can be interpreted in a constructive set theory [Pit87] Until recently the only nontrivial models known were either term models or realisability models [Gir72] or, following ideas of McCracken [McC79] and Scott, models based on a universal domain in which types are coded up as particular kinds of retracts. The latter are models for stronger calculi with a type of types and so are not tailored directly to the requirements of polymorphic calculus and do not in themselves suggest a general ....
N. McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. PhD thesis, Syracuse University, 1979. Domain theoretic models of polymorphism 41
No context found.
Nancy Jean McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. Ph.D. thesis, Syracuse University, 1979.
No context found.
McCracken, N. J. An investigation of a programming language with a polymorphic type structure. PhD Dissertation, Syracuse University, (1979).
No context found.
McCracken, N. J. An Investigation of a Programming Language with a Polymorphic Type Structure. PhD Dissertation, Syracuse University, 1979.
No context found.
N. J. McCracken, An investigation of a programming language with a polymorphic type structure, Ph.D. thesis, Syracuse University (June 1979).
No context found.
Nancy J. McCracken. An investigation of a programming language with a polymorphic type structure. PhD thesis, Syracuse University, June 1979.
No context found.
N. J. McCracken, An investigation of a programming language with a polymorphic type structure, Ph.D. thesis, Syracuse University (June 1979).
No context found.
McCracken, N. J. An Investigation of a Programming Language with a Polymorphic Type Structure, Ph. D. Dissertation. Syracuse University, June 1979, iv+126 pp. 8
No context found.
McCracken, N. J. An Investigation of a Programming Language with a Polymorphic Type Structure. Ph.D. Thesis, Syracuse University, 1979.
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