An anecdote about ML type inference
Andrew Koenig (ark@research.att.com)
AT&T Bell Laboratories
Murray Hill, New Jersey 07974
Abstract
ML strongly supports functional programming; its programmers
tend to avoid operations with side effects. Thus, for
example, instead of mutable arrays, ML programmers usually
use lists. These lists behave much like those in Lisp, with
the added requirement that all elements have the same type.1
ML lists are not themselves mutable, although the individual
elements can be of a (uniform) mutable type. In Lisp terms,
ML lists can optionally support RPLACA but not REPLACD.
Although it is possible to define a type in ML that would
support REPLACD as well, ML programmers usually don't do
this unless they need it.
Download the full text of this paper in
ASCII (15,262 bytes) and
POSTSCRIPT (34,686 bytes) form.
To Become a USENIX Member, please see our
Membership Information.