Sto lavorando su una piccola shell Unix e sto contemplando l'idea di scrivere un interprete di script. Durante la lettura del soggetto sento inevitabilmente di programmazione funzionale, calcolo lambda, e scopri l'intero fascino attorno a Lisp.
Prima di saltare a questo ho alcune domande.
- Quale lingua dovrei usare?
Sono curioso della programmazione funzionale, quindi sarebbe una grande opportunità per iniziare. Voglio che la mia shell abbia il minor numero possibile di dipendenze di terze parti. Mi chiedo se dovrei cercare un linguaggio compilato. Mi piacerebbe essere in grado di distribuirlo più facilmente. È un approccio corretto? se sì, quale lingua consiglieresti?
- In che modo incorpori un interprete nel tuo programma?
Il modo in cui vedo è che l'interprete funzioni in un secondo processo separato. Per quanto ne so, due processi che comunicano, stanno ascoltando una pipe o inviando segnali tra loro. È un approccio realistico? Esiste un particolare linguaggio che gestisce questa parte? Ci sono altri modi per incorporare l'interprete?