Mi sono chiesto, cosa impedisce lo sviluppo di una macchina virtuale efficiente come JVM o PyPy per Haskell (tranne forse lo sforzo di sviluppo)? È la struttura del linguaggio? Penso che i linguaggi, che sono più difficili da interpretare in modo efficiente (come Python, essendo molto dinamico), abbiano già macchine virtuali decenti.Cosa impedisce un'efficiente macchina virtuale Haskell (come JVM)?
Inoltre, se nulla ostacola una tale implementazione, STG sarebbe un buon target "bytecode", dal momento che tutte le ottimizzazioni vengono eseguite su Core?
Ci sono articoli o post di blog che trattano questo argomento?
modifiche:
- Sono consapevole del HaLVM, ma non credo che è quello che voglio dire.
- Sono anche a conoscenza di
runhaskell
, ma non è affatto efficiente.
perché creare una nuova macchina virtuale? potresti compilare JVM .. –
@yi_H Ricordo di aver letto qualche ricerca da qualche parte che ha cercato di compilare Haskell in JVM ma in qualche modo ha concluso che erano incompatibili .. – aelguindy
non sono .. JVM è una macchina virtuale generica, puoi teoricamente compilare qualsiasi lingua ad esso. forse non è il massimo per le prestazioni, ma funzionerebbe. –