Qualified Types: Theory and PracticeCambridge University Press, 16.10.2003 - 172 Seiten This book describes the use of qualified types to provide a general framework for the combination of polymorphism and overloading. For example, qualified types can be viewed as a generalization of type classes in the functional language Haskell and the theorem prover Isabelle. These in turn are extensions of equality types in Standard ML. Other applications of qualified types include extensible records and subtyping. Using a general formulation of qualified types, the author extends the Damas/Milner type inference algorithm to support qualified types, which in turn specifies the set of all possible types for any term. In addition, he describes a new technique for establishing suitable coherence conditions that guarantee the same semantics for all possible translations of a given term. Practical issues that arise in concrete implementations are also discussed, concentrating in particular on the implementation of overloading in Haskell and Gofer, a small functional programming system developed by the author. |
Inhalt
III | 1 |
IV | 2 |
V | 3 |
VI | 4 |
VIII | 6 |
X | 8 |
XII | 9 |
XIII | 10 |
LIX | 63 |
LX | 64 |
LXI | 65 |
LXII | 67 |
LXIII | 68 |
LXIV | 69 |
LXV | 70 |
LXVI | 71 |
XV | 11 |
XVI | 13 |
XVII | 16 |
XVIII | 17 |
XXI | 18 |
XXIII | 19 |
XXIV | 21 |
XXV | 22 |
XXVII | 23 |
XXX | 25 |
XXXIII | 26 |
XXXIV | 27 |
XXXV | 29 |
XXXVII | 31 |
XXXVIII | 32 |
XXXIX | 33 |
XL | 35 |
XLI | 36 |
XLII | 37 |
XLIII | 39 |
XLIV | 40 |
XLV | 43 |
XLVI | 44 |
XLVII | 46 |
XLVIII | 48 |
XLIX | 49 |
LI | 50 |
LII | 51 |
LIII | 53 |
LIV | 57 |
LV | 58 |
LVI | 60 |
LVII | 62 |
LXVII | 72 |
LXVIII | 73 |
LXIX | 76 |
LXX | 78 |
LXXI | 79 |
LXXII | 82 |
LXXIV | 84 |
LXXV | 85 |
LXXVII | 87 |
LXXVIII | 88 |
LXXIX | 91 |
LXXX | 92 |
LXXXII | 94 |
LXXXIII | 97 |
LXXXIV | 99 |
LXXXV | 101 |
LXXXVI | 104 |
LXXXVIII | 107 |
LXXXIX | 108 |
XCI | 110 |
XCII | 112 |
XCIII | 114 |
XCIV | 115 |
XCV | 116 |
XCVI | 118 |
XCVII | 121 |
XCIX | 122 |
C | 123 |
CI | 124 |
CIII | 126 |
| 148 | |
Andere Ausgaben - Alle anzeigen
Häufige Begriffe und Wortgruppen
A-calculus abstract machine appears free application Bool Chapter coherence constrained type scheme construction context reduction conversion corresponding datatype defined defNeq derivation described in Section dictionary constructor dictionary for Eq dictionary values doToList doToOne Eq Int eqDList eqDTree equivalent evidence parameters evidence values evidence variables example extended Gen(A given Gofer Haskell hence induction instance declarations instance Eq integer language member functions monomorphic obtain OML term optimisation overloaded function partial evaluation particular polymorphic predicate assignment predicate entailment predicate sets primEqInt principal type scheme properties Proposition qualified types recursive result rules in Figure semantics set of type substitution subtyping superclass syntax-directed system Theorem Ti/ai Ti/ai]Q translation type assignment type classes type expressions type inference algorithm type signature type system type variables typing rules Wadler and Blott well-typed x:xs y:ys λυ

