Common LISP: the language
The definition of Standard ML
A new approach to procedures with variable arity
Lisp and Symbolic Computation
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
The typed polymorphic label-selective λ-calculus
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
A practical soft type system for scheme
ACM Transactions on Programming Languages and Systems (TOPLAS)
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Selectors Make Set-Based Analysis Too Hard
Higher-Order and Symbolic Computation
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Practical Variable-Arity Polymorphism
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Polymorphic type-checking in scheme
Computer Languages
Hi-index | 0.00 |
An ML-style type system with variable-arity procedures is defined that supports both optional arguments and arbitrarily-long argument sequences. A language with variable-arity procedures is encoded in a core-ML variant with infinitary tuples. We present an algebra of infinitary tuples and solve its unification problem. The resulting type discipline preserves principal typings and has a terminating type reconstruction algorithm. The expressive power of infinitary tuples is illustrated.