Standard ML: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
m ha spostato SML (provvisorio) a Standard ML: inversione di redirect
Nessun oggetto della modifica
Riga 1: Riga 1:
In [[informatica]], '''SML''' ('''''S'''tandard '''ML''''') è un [[linguaggio di programmazione]] derivato dall<nowiki>'</nowiki>'''ML'''.
In [[informatica]], '''SML''' ('''''S'''tandard '''ML''''') è un [[linguaggio di programmazione]] derivato dall<nowiki>'</nowiki>'''ML'''.


L'ML originale era una serie di MetaLinguaggi ideati da [[Robin Milner]] (e i 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'').
L'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'').


L'SML è un [[Programmazione funzionale|linguaggio funzionale]], quindi avente la caratteristica di rendere facile ed efficiente la creazione e l'uso di funzioni speciallizzate. 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 date di strutture dinamiche che sono integrate col linguaggio, per esempio le liste.
L'SML è un [[Programmazione funzionale|linguaggio funzionale]], quindi avente la caratteristica di rendere facile ed efficiente la creazione e l'uso di funzioni speciallizzate. 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 date di strutture dinamiche che sono integrate col linguaggio, per esempio le liste.

Versione delle 16:35, 8 gen 2007

In informatica, SML (Standard ML) è un linguaggio di programmazione derivato dall'ML.

L'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).

L'SML è un linguaggio funzionale, quindi avente la caratteristica di rendere facile ed efficiente la creazione e l'uso di funzioni speciallizzate. 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 date di strutture 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).