Quelle est la mise en œuvre d'Ericsson d'Erlang et d'Erlang/OTP écrite et compilée? Est-ce que Assembly, C ou Erlang est lui-même?
Mise à jour 1: Merci à DrJokepu. Si je comprends bien, le compilateur source-VM Erlang est écrit en Erlang lui-même. Mais le VM est écrit en C.
Mise à jour 2: Hynek-Pichi-Vychodil a souligné beaucoup de détails.
Erlang lui-même est écrit en Erlang. Cela semble étrange? Oui, car ce n'est que partiellement vrai. OK, regardez-le plus en détail:
De la Erlang FAQ :
10.6 Comment le premier compilateur Erlang a-t-il été écrit?
(ou: comment Erlang a-t-il été démarré? ) Selon Joe:
J'ai d'abord conçu une machine abstraite pour exécuter Erlang. Cela s'appelait la machine JAM; JAM = Joe's Abstract Machine.
Ensuite, j'ai écrit un compilateur d'Erlang à JAM et un émulateur pour voir si la machine fonctionnait. Les deux ont été écrits en prologue.
En même temps, Mike Williams a écrit un émulateur C pour le JAM.
Ensuite, j'ai réécrit le compilateur erlang-to-jam dans Erlang et utilisé le compilateur prolog pour le compiler. Le code objet résultant a été exécuté dans l'émulateur C. Ensuite, nous avons jeté le prologue.
Vous pouvez voir des statistiques en direct et à jour sur le site ohloh , ce rapport est généré à partir du référentiel principal erlang git.