Standard ML
Standard ML linguaggio di programmazione | |
---|---|
Autore | Robin Milner, Mads Tofte, Robert Harper, David MacQueen |
Data di origine | 1990 |
Utilizzo | generico |
Paradigmi | funzionale e imperativo |
Tipizzazione | forte, statica, implicita |
Specifiche di linguaggio | SML '90[1], SML '97[2]. |
Estensioni comuni | .sml |
Influenzato da | ML |
Ha influenzato | OCaml, Rust |
Implementazione di riferimento | |
Sito web | smlfamily.github.io/ |
Modifica dati su Wikidata · Manuale |
In informatica, SML (Standard ML) è un linguaggio di programmazione derivato dal ML.
Il linguaggio ML originale era una serie di metalinguaggi ideati da Robin Milner (e dai suoi studenti) all'Università di Edimburgo per creare programmi che eseguissero la dimostrazione di teoremi (theorem provers). Questi metalinguaggi furono poi "standardizzati" per dare origine all'SML, di cui lo standard più recente risale al 1997 (The Definition of Standard ML - Revised[2]).
Il linguaggio SML è un linguaggio funzionale, quindi avente la caratteristica di rendere facile ed efficiente la creazione e l'uso di funzioni specializzate. In questo, SML assomiglia al Lisp o allo Scheme. Come questi, SML ha molti dialetti oltre al linguaggio standard, tra i quali si distingue OCaml, che è object oriented, e CML, che è concurrent o parallelo. Altri elementi comuni a Lisp e Scheme sono la presenza del garbage collector e di strutture di dati dinamiche che sono integrate col linguaggio, per esempio le liste.
Al contrario di Lisp e Scheme, SML ha un sistema di tipi che permette già al momento della compilazione la verifica che le funzioni siano usate su argomenti del tipo giusto. Inoltre, diversi dialetti di SML hanno sistemi per organizzare i programmi in moduli, con firme (signature), implementazioni (structure), e implementazioni configurabili (functors).
Compilatori ed interpreti
- SML/NJ ([1])
- MLton ([2])
- Moscow ML ([3])
- Poly/ML ([4])
- MLj ([5])
- SML.NET ([6])
- ML Kit ([7])
- Hamlet ([8])
Note
- ^ (EN) The Definition of Standard ML, di Robin Milner, Mads Tofte e Robert Harper. 1990, The MIT Press, Cambridge, Massachusetts - London, England.
- ^ a b (EN) The Definition of Standard ML, Revised, di Robin Milner, Mads Tofte, Robert Harper e David MacQueen. 1997, The MIT Press, Cambridge, Massachusetts - London, England.
Voci correlate
- Programmazione funzionale
- ML (linguaggio di programmazione)
Collegamenti esterni
- (EN) Standard ML Family Project Archiviato il 20 febbraio 2020 in Internet Archive. Sito di coordinamento, riferimento e archiviazione storica del linguaggio e delle sue implementazioni.
- (EN) A Gentle Introduction to ML Archiviato il 6 aprile 2007 in Internet Archive., di Andrew Cumming
- (EN) Programming in Standard ML '97: An On-line Tutorial, di Stephen Gilmore
- (EN) Programming in Standard ML, di Robert Harper
- (EN) ML Workshop, di Chris Reade
- (EN) The Standard ML Basis Library, manuale aggiornato della libreria standard di SML
Controllo di autorità | GND (DE) 4295302-9 |
---|
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)