Ho pensato a questa domanda molto a lungo, ma davvero non riuscivo a trovare la risposta su Google e una domanda simile su Stackoverflow. Se c'è un duplicato, mi dispiace per quello.Perché scrivere un compilatore in un linguaggio funzionale è più semplice?
Un sacco di persone sembrano dire che scrivere compilatori e altri strumenti linguistici in linguaggi funzionali come OCaml e Haskell è molto più efficiente e più facile quindi scrivendoli in linguaggi imperativi.
È vero? E se è così - perché è così efficiente e facile da scrivere in lingue funzionali invece che in un linguaggio imperativo, come C? Inoltre, non è più lento uno strumento linguistico in una lingua funzionale, quindi in un linguaggio di basso livello come C?
Non direi che è più facile. Ma la natura funzionale della compilazione di compiti come l'analisi probabilmente si presta in modo abbastanza naturale alla programmazione funzionale. I linguaggi funzionali come OCaml possono essere estremamente veloci, rivaleggiando con la velocità di C. –
Folks, questo è davvero polemico? Sicuramente qualcuno ha qualche intuizione. Mi piacerebbe conoscere me stesso. –
Penso che ci dovrebbero almeno essere delle buone ragioni per usare un linguaggio funzionale su un imperativo. Ho trovato un articolo che fondamentalmente è venuto giù su quei linguaggi funzionali senza effetti collaterali e così via. Ma non era affatto chiaro. Tuttavia, se questo è polemico, potrebbe essere meglio chiuderlo o riformulare la domanda. – wvd