Concurrent ML

Concurrent ML
ParadigmsMulti-paradigm: functional, imperative, modular, concurrent
FamilyML: Standard ML
First appeared1991; 33 years ago (1991)[1]
Websitecml.cs.uchicago.edu
Major implementations
SML/NJ,[2] MLton,[3] Manticore[4]
Influenced by
ML, Standard ML

Concurrent ML (CML) is a multi-paradigm, general-purpose, high-level, functional programming language. It is a dialect of the programming language ML which is a concurrent extension of the Standard ML language, characterized by its ability to allow creating composable communication abstractions that are first-class rather than built into the language. The design of CML and its primitive operations have been adopted in several other programming languages, such as GNU Guile,[5] Racket,[6] and Manticore.[4]

  1. ^ Reppy, John H. (June 1991). CML: a Higher-Order Concurrent Language. PLDI.
  2. ^ "What is Standard ML of New Jersey?". Retrieved April 5, 2021.
  3. ^ "ConcurrentMLImplementation". Retrieved April 5, 2021.
  4. ^ a b Fluet, Matthew; Bergstrom, Lars; Ford, Nic; Rainey, Mike; Reppy, John; Shaw, Adam; Xiao, Yingqi (May 2009). "Programming in Manticore, a Heterogenous Parallel Functional Language" (PDF). Retrieved July 11, 2018.
  5. ^ Wingo, Andy (June 29, 2017). "A New Concurrent ML". Retrieved July 11, 2018.
  6. ^ Flatt, Matthew; Findler, Robert Bruce (2004). "Kill-safe synchronization abstractions". Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation. Vol. 39. pp. 47–58. doi:10.1145/996841.996849. ISBN 1581138075. S2CID 5547460.