MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  www.cl.cam.ac.uk/users/kw217/

Download:
Download as a PDF | Download as a PS
by Keith Wansbrough, Simon Peyton Jones, Cambridge Cb Nh
http://www.research.microsoft.com/~simonpj/papers/icfp00-upoly.ps.gz
Add To MetaCart

Abstract:

research.microsoft.com/Users/simonpj/ We present a novel inference algorithm for a type system featuring subtyping and usage (annotation) polymorphism. This algorithm infers simply-polymorphic types rather than the constrained-polymorphic types usual in such a setting; it achieves this by means of constraint approximation. The algorithm is motivated by practical considerations and experience of a previous system, and has been implemented in a production compiler with positive results. We believe the algorithm may well have applications in settings other than usage-type inference. 1

Citations

762 On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985
303 Subtyping recursive types – Amadio, Cardelli - 1993
249 Compiling polymorphism using intensional type analysis – Harper, Morrisett - 1995
196 Type inclusion constraints and type inference – Aiken, Wimmers - 1993
176 Implementing lazy functional languages on stock hardware: the spineless tagless g-machine – Jones - 1992
148 A natural semantics for lazy evaluation – Launchbury - 1993
147 Purely Functional Data Structures – Okasaki - 1998
134 Soft typing – Cartwright, Fagan - 1991
126 logic, its syntax and semantics – Linear - 1995
114 An extension of system F with subtyping – Cardelli, Martini, et al. - 1991
111 Introduction to Algorithms: A Creative Approach – Manber - 1989
100 Linear types can change the world – WADLER - 1990
99 Componential set-based analysis – Flanagan, Felleisen - 1997
96 Lazy functional state threads – Launchbury, Jones - 1997
87 Unboxed values as first class citizens in a non-strict functional language – Jones, Launchbury - 1991
84 Is there a use for linear logic – Wadler - 1991
74 Once upon a type – Turner, Wadler, et al. - 1995
72 A transformation-based optimiser for Haskell – Jones, Santos - 1998
66 Subtyping Constrained Types – Trifonov, Smith - 1996
64 Nested datatypes – Bird, Meertens - 1998
64 Global/local subtyping and capability inference for a distributed Ï€calculus – Sewell - 1996
63 Type inference with constrained types. Theory and practice of object systems – Odersky, Sulzmann, et al. - 1999
58 The nofib benchmark suite of Haskell programs.In – Partain - 1992
56 A taste of linear logic – Wadler - 1993
52 Semantics of weakening and contraction – Jacobs - 1994
52 Effective flow analysis for avoiding run-time checks – Jagannathan, Wright - 1995
49 Cheap deforestation for non-strict functional languages – Gill - 1996
47 Let-floating: moving bindings to give faster programs – Jones, Partain, et al. - 1996
46 Implementing Functional Languages, A Tutorial – Jones, Lester - 1992
40 Strictness analysis in logical form – Jensen - 1991
40 A practical subtyping system for Erlang – Marlow, Wadler - 1997
31 Once upon a polymorphic type – Wansbrough, Jones - 1999
30 Simplifying subtyping constraints: a theory – Pottier - 2001
29 Typability and type checking in the second-order -calculus are equivalent and undecidable – Wells - 1994
28 Improvement in a lazy context: an operational theory for call-by-need – Moran, Sands - 1999
28 The call-by-need lambda calculus – Maraist, Odersky, et al. - 1998
27 Constrained Quantification in Polymorphic Type Analysis – Curtis - 1987
26 Polarized Higher-Order Subtyping – Steffen - 1994
24 Constrained types and their expressiveness – Palsberg, Smith - 1996
23 Polymorphic Recursion and Subtype Qualifications: Polymorphic Binding-Time Analysis in Polynomial Time – Dussart, Henglein, et al.
22 Optimizing lazy functional programs using flow inference – Fax'en - 1995
20 Linear logic – Lincoln - 1992
20 Optimal representations of polymorphic types with subtyping – Aiken, Wimmers, et al. - 1997
19 An implementation of F – Cardelli
16 Type inference in systems of recursive types with subtyping. http://www. cs.purdue.edu/homes/palsberg – Jim, Palsberg - 1999
15 A modular fully-lazy lambda lifter – Peyton-Jones, Lester - 1991
12 Types for 0, 1 or many uses – Mogensen - 1997
12 Polymorphic recursion and subtype quali Polymorphic binding-time analysis in polynomial time – Dussart, Henglein, et al. - 1995
11 Detecting sharing of partial applications in functional programs – Goldberg - 1987
11 Update avoidance analysis by abstract interpretation – Marlow - 1993