An anecdote about ML type inference

  • Authors:
  • Andrew Koenig

  • Affiliations:
  • AT&T Bell Laboratories, Murray Hill, New Jersey

  • Venue:
  • VHLLS'94 Proceedings of the USENIX 1994 Very High Level Languages Symposium Proceedings on USENIX 1994 Very High Level Languages Symposium Proceedings
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

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.