Timeline
Chat
Prospettiva
Alice (linguaggio di programmazione)
linguaggio di programmazione Da Wikipedia, l'enciclopedia libera
Remove ads
Alice è un linguaggio di programmazione funzionale progettato presso l'Università della Saarland. È un dialetto di Standard ML, con il supporto aggiuntivo per la valutazione lazy, la concorrenza e la programmazione a vincoli.
L'implementazione di Alice utilizza la macchina virtuale SEAM (Simple Extensible Abstract Machine). Alice è distribuito come software libero e fornisce la compilazione just-in-time sia verso bytecode che in codice nativo per l'architettura x86.
Remove ads
Esempio
Alice estende Standard ML con diverse primitive per la valutazione lazy e la concorrenza. Per esempio, i thread possono essere creati utilizzando la parola chiave spawn
. Si consideri il semplice algoritmo per il calcolo della successione di Fibonacci:
fun fib 0 = 0
| fib 1 = 1
| fib n = fib(n-1) + fib(n-2);
Per grandi valori di n
, fib n
richiederà un lungo tempo di calcolo. Questo calcolo può essere effettuato in un thread separato da:
val x = spawn fib n;
La variabile x
è ora legata a un "valore futuro". Quando un'operazione richiede il valore effettivo di x
, essa si blocca finché il thread corrispondente non ha completato la computazione. Per sfruttare il calcolo parallelo, si può ridefinire la funzione fib
come segue:
fun fib 0 = 0
| fib 1 = 1
| fib n = spawn fib(n-1) + fib(n-2);
Remove ads
Voci correlate
- Mozart (sistema di programmazione)
- Standard ML
Collegamenti esterni
- (EN) Homepage di Alice, su ps.uni-saarland.de.
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads