| Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994. |
....whereas ours is based on functions which are defined indexed on the structure of types. In their favor, their approach is better integrated into Haskell. A dependency resembles a qualified type: a type with restrictions that require certain type variables to be an instance of a particular class [24]. Inferring the context requirements for qualified types is, however, easier, because the dependencies for a generic function appear at multiple kinds, and thus have types with di#ering forms. Dependencies are similar in spirit to implicit parameters [27] and deplet is similar to the with ....
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994.
....two different constraint languages are required, we start by abstracting over the constraint system. This yields a general framework for program analysis using constrained types with discriminative sums. We rely on an abstract notion of constraint system which is similar to Jones s predicates [19] and Odersky et al. s notion of constraints [25] DEFINITION 3. Constraint System) A constraint system over a type language is a structure (W,#) where W is a constraints language extending a type language and is an entailment relation P (W)P (W) such that the following holds: i) C#D ....
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, Cambridge, UK, 1994.
....combinators, and to provide a unifiying framework for studying various object interpretations. It is a pure functional language in the sense that it has no sideeffects, and uses lazy evaluation, in the tradition of LML, Miranda and Haskell. A prototype interpreter type checker written in Gofer [Jones94] a dialect of Haskell) is available at WWW address: http: cuiwww.unige.ch OSG Hop . 2 Basic constructs We start with an informal presentation of the main high level constructs of the language. The full syntax is given in appendix A. Knowledge of some functional language is assumed. 2.1 ....
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994.
....Type classes [14, 23] are one of the most prominent features of Haskell [18] They are also found in other languages such as Mercury [6, 9] HAL [3] and Clean [19] In particular Haskell has become the most popular playing field for type class acrobats. Advanced features such as constructor [11], multi parameter [13] classes and functional dependencies [12] are found in most Haskell implementations. The idea behind type classes is to allow the programmer to define relations over types. For single parameter type classes, the type class relation simply states set membership. Consider the ....
....to republish, to post on servers or to redistribute to lists, requires prior specific permission and or a fee. Copyright 2001 ACM X XXXXX XX X XX XX . 5.00. Eq a = a a Bool which has a constraint component Eq a and a type component a a Bool. Constructor classes [11] allow the programmer to define relations not just over types but also over type constructors. A typical example is the Functor class: where the class parameter f ranges over type constructors such as [ and Tree. Multi parameter type classes [13] allow for multiple class parameters. For ....
[Article contains additional citation context not shown here]
M. P. Jones. Qualified Types: Theory and Practice. D.phil. thesis, Oxford University, 1992.
....(or class constraint) can be used to restrict a polymorphic type to the members of a particular class (or classes) A number of works have tried to explain type inference for Haskell from first principles [28, 29] Subsequently, further extensions have been investigated. In his thesis [13], Jones has investigated qualified types. Qualified types can be instantiated to a range of interesting type systems, among them type classes, record types, and subtyping. This work has paved the way for more explorations. Multi parameter type classes [31] generalize type classes from sets of ....
M. P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, Cambridge, UK, 1994.
....narrowing as described in Sections 6.1 and 6.3. 8. RELATED WORK There have been many approaches to adding overloading to languages with a Hindley Milner style polymorphic type system, beginning with Kaes [33] and Wadler and Blott [49] and later picked up, refined, and implemented by many others [40, 5, 39, 3, 26, 42, 15, 27, 29, 43, 35, 31]. In particular, recent work is pushing hard the borders of complete and decidable type inference [45, 46] In the face of this plethora, we only consider the most closely related work here. The work of Jones [27] and its extension to constructor classes [26] provides a general framework for type ....
....refined, and implemented by many others [40, 5, 39, 3, 26, 42, 15, 27, 29, 43, 35, 31] In particular, recent work is pushing hard the borders of complete and decidable type inference [45, 46] In the face of this plethora, we only consider the most closely related work here. The work of Jones [27] and its extension to constructor classes [26] provides a general framework for type inference with qualified types which (still) subsumes the facilities present in Haskell 98. The framework of qualified types is not su#ciently expressive for our purposes because it neither supports disjunction ....
M. P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, Cambridge, UK, 1994.
....a systematic way retaining type inference with principal types. That means, designing record systems becomes construction of constraint systems which model record systems. 1 Introduction Type systems for records have become a playing field for type theorists [HP91, Car84, CM89, EST95, R em95a, Jon92, Oho95, Wan88, Wan89, R em95b, R em89] One of the main motivations for record systems is that they can be used to encode object calculi [Wan89, R em95a] or module systems [Apo93, Jon96] Also, they are useful for data type declarations and in database programming [OB88] But there are a couple ....
....R emy and Kennedy extend the Hindley Milner type system with a sorted equational theory. We argue that our constraint system is more general and we conjecture that their systems are not able to handle field labels as first class values. The approach of Gaster et al. is based on qualified types [Jon92] They also present a full variety of record systems with similar expressive power. In the latter, we will see examples where one can see where our approach has advantages. In general, we will discuss some problems which are present in previous approaches. We use the HM(X) framework to design ....
[Article contains additional citation context not shown here]
Mark P. Jones. Qualified Types: Theory and Practice. D.phil. thesis, Oxford University, September 1992.
....are given in Section 5. Proofs are omitted from this paper due to space limitations. The full paper will be available as [23] 1. 1 Related Work Constraint based type inference systems have been designed for many languages, including ones that support subtyping [6, 11] objects [5] overloading [8, 22], and linear types [21] The inference issues in [21] are especially close to ours, and we received considerable inspiration from this work. One novel aspect of our system which does not arise in these other works is the need to associate constraints with each free identifier of a term, instead of ....
M. P. Jones. Qualified types: Theory and Practice. Cambridge University Press, Cambridge, England, 1994.
....in Haskell. In general, the Haskell approaches could be characterized by a very formal approach to language semantics, in contrast to my approach which tended more towards experimentation. Mark CHAPTER 2. HISTORY AND RELATED WORK 14 Jones has given very in depth treatment to overloading [15]. Recent work by Oderskey, Wadler and Wehr has proposed an alternative [22] for overloading in Haskell. Parametric overloading in Oasis has far fewer semantic restrictions than these proposals, but as such Oasis must admit the possibility of non termination in the type checker. 2.4 ....
....allows records in ML to be extensible, in a manner that resembles aspects of ObjectOriented programming. The compilation technique for this system greatly resembles parametric overloading, in that implicit parameters are inferred and solved in a manner similar to overload parameters. Jones thesis [15] has material on extensible records also. More recently Ohori has extended his work to cover possible ways to remove boxing from data representations based on a implicit parameter style mechanism [24] Both of Ohori s proposals seem like natural future extensions for Oasis. 2.4.2 Effect Systems ....
Mark P. Jones. Qualified Types: Theory and Practices. PhD thesis, University of Nottingham, July 1992.
....traditional hol systems (providing object level type variables) implicitly contain some propositional language of types that may serve as an interpretation of type classes, type arities and related notions from Haskelllike type systems. We could even have supported more general qualified types [8], notably n ary type relations, as does the programming language Gofer and recently proposed extensions of Haskell. Thus the whole order sorted type system turns out to be just an addition to user convenience, without really changing expressiveness of the logic. We have also introduced three new ....
M. P. Jones. Qualified Types: Theory and Practice. PhD thesis, University of Oxford, 1992.
....parts which are used to define a concept are in turn defined somewhere else in terms of a very simple set of primitives. Checking that the types of inputs and outputs correspond which can be done automatically gives additional confidence that the model is logically consistent (Milner 1978, Jones 1994). Running the computational model finally allows us to test whether the model reflects correctly the intended behavior. We found the public domain functional language Haskell (Peterson et al. 1996) extremely useful for constructing such models. 8 Conclusions In today s world of networked ....
Jones, M. P., 1994, Qualified Types: Theory and Practice (Cambridge University Press).
....are used to define a concept are in turn defined somewhere else in terms of a very simple set of primitives. Checking that the types of inputs and outputs correspond something which can be done automatically gives additional confidence that the model is logically consistent (Milner 1978; Jones 1994). Running the computational model allows us finally to test whether the model reflects correctly the intended behavior. We found the public domain functional language Haskell (Peterson, Hammond et al. 1996) extremely useful for this purpose. 9 Conclusion In today s world of networked information ....
Jones, M. P. (1994). Qualified Types: Theory and Practice, Cambridge University Press.
....an advanced framework for object oriented algebraic specification. The language is strict without side effects and code is therefore referentially transparent. Gofer has a novel class system with multiple parameters; the type inference mechanism of ML(Milner 1978) has been suitably extended(Jones 1994). It allows inheritance in the framework of parametric polymorphism (Cardelli and Wegner 1985) which is easier to comprehend than other inheritance methods used in commercial programming languages. A class describes an algebraic theory for asort with a set of operations with name and signature, ....
Jones, M. P. 1994. Qualified Types: Theory and Practice, Ph.D Dissertation, Programming Research Group, Oxford University: Cambridge University Press.
....just regard an arbitrary type as a discrete cpo. In particular the proposition that state is a cpo is not supported because state is not an atomic type but an abbreviation for a compound type. This restriction of the type system is also shared by Haskell. Winskel is (almost) Right 13 Mark Jones [Jon94] has developed a closely related type system which does not have this restriction. 7.2. Lifting Lifting usually means the construction of one cpo from another one by adjoining a new element. In order to lift arbitrary HOL types without having to turn them into discrete cpos first, HOLCF ....
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994.
.... [Oho95, R em89, Wan89] overloading [Kae92, VHJW96, CHO92, OWW95, NP95] and subtyping [AW93, EST95b, Smi91] Variations of the Hindley Milner system are also popular to perform certain kind of program analysis, such as [Ken94, DHM95, TJ92] More general frameworks have been introduced by Jones [Jon92] and Odersky Sulzmann Wehr [OSW99] In our own work we introduced a general framework for Hindley Milner style systems, called HM(X) which is parameterized in the constraint domain X. For instance, the standard Hindley Milner type system can be retrieved by instantiating X to the standard ....
Mark P. Jones. Qualified Types: Theory and Practice. D.phil. thesis, Oxford University, September 1992.
....traditional hol systems (providing object level type variables) implicitly contain some propositional language of types that may serve as an interpretation of type classes, type arities and related notions from Haskelllike type systems. We could even have supported more general qualified types [8], notably n ary type relations, as does the programming language Gofer and recently proposed extensions of Haskell. Thus the whole order sorted type system turns out to be just an addition to user convenience, without really changing expressiveness of the logic. We have also introduced three new ....
M. P. Jones. Qualified Types: Theory and Practice. PhD thesis, University of Oxford, 1992.
....Jones. The system of Aiken and Wimmers [2] uses ML s let polymorphism, and, therefore, we believe it does not have principal typings. The subsystem without let polymorphism, though, is still of interest, and may have principal typings (but this is not clear) The constraint based systems of Jones [12], Kaes [14] and Smith [28] are also based on ML. Constraint satisfaction, including subtype satisfaction, is an important component of each of these systems. Our method for solving constraints involving quantifiers ( 82;1 satisfaction) is a significant advance over these systems. Along with ....
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, November 1994. 23
....records take a look in [OWW95] This paper contains the definition of system O, the definition of its type reconstruction algorithm, all notions to define the properties of type reconstruction and the proofs of all properties. The proofs are inspired by the techniques used in [Che94] and [Jon92]. The first section defines the language and the type system which is an extension of the Hindley Milner system [Mil78] Furthermore an example gives a motivation for the use of system O. In section 2 the type reconstruction algorithm is defined. The algorithm is an extension of Milners algorithm ....
Mark Philip Jones. Qualified Types: Theory and Practice. PhD thesis, Oxford University, July 1992.
....than inferring or checking the type of a single expression, we traverse conjunctions of goals, building up (or checking against) a set of constraints as we go. Due to the similarity between the two formalisms, the theoretical results about Haskell style type classes, proven in papers such as [7, 11] should carry over quite simply to Mercury. Nonetheless, there are still some differences between the flavour of type classes we have chosen here and the Haskell flavour. The most obvious difference is that we do not (yet) support constructor classes in Mercury, although we do support ....
....system of type classes, we have adapted the typing and transformation rules of [2] which work on nested expressions, to the flat structure of logic programs. Although we have not yet done the required proofs, most of the results proven for type classes in functional languages in papers such as [7, 11] should have corresponding results in our system as well. We have integrated our proposed system of type classes into Mercury. This required resolving the interactions between type classes and Mercury s mode, determinism and uniqueness systems. The solution turned out to be quite elegant. The ....
Mark Jones. Qualified Types: Theory and Practice. Cambridge University Press, Nov 1994.
No context found.
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994.
No context found.
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994.
No context found.
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994.
No context found.
Mark P. Jones. Qualified Types: Theory and Practice. DPhil thesis, University of Oxford, 1992.
No context found.
Mark P. Jones. Qualified Types: Theory and Practice. Cambridge University Press, 1994.
No context found.
Mark P. Jones. Qualified types :--theory and practice. PhD thesis, Keble College, Oxford University, 1992.
First 50 documents
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