Type inclusion constraints and type inference
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
What are principal typings and what are they good for?
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A practical subtyping system for Erlang
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
The Essence of Principal Typings
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
A soft-typing system for Erlang
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
DrScheme: a programming environment for Scheme
Journal of Functional Programming
Polymorphic algebraic data type reconstruction
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
A language for specifying type contracts in erlang and its interaction with success typings
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
Introducing records by refactoring
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
System dependence graphs in sequential erlang
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
We describe and document the techniques used in TOOL, a fully automatic type annotator for Erlang programs based on constraint-based type inference of success typings (a notion closely related to principal typings). The inferred typings are fine-grained and the type system currently includes subtyping and subtype polymorphism but not parametric polymorphism. In particular, we describe and illustrate through examples a type inference algorithm tailored to Erlang's characteristics which is modular, reasonably fast, and appears to scale well in practice.