Standard ML linguaggio di programmazione | |
---|---|
Autore | Robin Milner, Mads Tofte, Robert Harper, David MacQueen |
Data di origine | 1990 |
Utilizzo | generico |
Paradigmi | funzionale eimperativo |
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 |
Ininformatica,SML (StandardML) è unlinguaggio di programmazione derivato dalML.
Il linguaggio ML originale era una serie di metalinguaggi ideati daRobin 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 al1997 (The Definition of Standard ML - Revised[2]).
Il linguaggio SML è unlinguaggio funzionale, quindi avente la caratteristica di rendere facile ed efficiente la creazione e l'uso di funzioni specializzate. In questo, SML assomiglia alLisp o alloScheme. Come questi, SML ha molti dialetti oltre al linguaggio standard, tra i quali si distingueOCaml, che è object oriented, eCML, che èconcurrent o parallelo. Altri elementi comuni a Lisp e Scheme sono la presenza delgarbage 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).
Controllo di autorità | GND(DE) 4295302-9 |
---|