Про що написано Ерланг?


111

У чому полягає написання та складання програми Erlang та Erlang / OTP від ​​Ericsson? Це збірка, С або Ерланг?

Оновлення 1: Дякую DrJokepu Якщо я правильно розумію, компілятор від джерела до VM Erlang написаний у самому Ерланге. Але ВМ написаний на С.

Оновлення 2: Hynek-Pichi-Vychodil вказав багато деталей.

  • Драйвери, що взаємодіють з VM та HW: у С.
  • Компілятор (до VM) та бібліотеки: в Ерланг.
  • Розширення: можлива будь-якою мовою, написавши порт або вузол Erlang цією мовою.

17
Erlang є відкритим кодом. Ідіть перевірити код і подивіться!
rfunduk

Відповіді:


140

Сам Ерланг написаний на Ерланг. Звучить дивно? Так, тому що це лише частково правда. Добре подивіться на це детальніше:

  1. Препроцесор Erlang написаний на Erlang.
  2. Erlang parser написаний на Erlang.
  3. Компілятор Erlang для BEAM (байт-код VM) написаний у Erlang.
  4. Компілятор Erlang для HiPE (власне розширення VM) написаний на Erlang.
  5. Erlang VM BEAM і HiPE написано здебільшого на C.
  6. Пов'язані драйвери написані здебільшого на C. (Вони підключені до VM та служать для зв'язку із зовнішнім світом.)
  7. OTP написаний на Erlang.
  8. Інші порти або вузли можуть бути написані будь-якою мовою.

91

Із запитань про Erlang :

10.6 Як записався перший компілятор Erlang?

(або: як був завантажений Ерланг? ) Словами Джо:

Спочатку я сконструював абстрактну машину для виконання Ерланга. Це називалося машиною JAM; JAM = абстрактна машина Джо.

Тоді я написав компілятор від Erlang до JAM і емулятор, щоб перевірити, чи працює машина. Обидва вони були написані в пролозі.

У той же час Майк Вільямс написав емулятор C для JAM.

Потім я переписав компілятор erlang-to-jam в Ерланг і використав компілятор prolog для його компіляції. Отриманий об'єктний код запускався в емуляторі C. Потім ми викинули пролог.


1
Дякую! Яке джерело цієї цитати?
Макс Хайбер

15
  • 65,9% коду erlang написано на Erlang.
  • 13,4% erlang написано в XML.
  • 13,6% ерланг написано на С.
  • 1,4% erlang написано на C ++
  • ...

Ви можете побачити в реальному часі та оновити статистику на сайті Ohloh , цей звіт генерується з основного сховища erlang git.


Мені просто цікаво, які частини написані на c ++.
csyangchen

@csyangchen немає, це хибнопозитивне виявлення лічильників ліній лічильника.
Хаулет

Частини палітур WX записані на C ++.
Роджер Ліпскомб

-1

Я можу сказати, що Ерланг спочатку був написаний на C / C ++, оскільки я не можу сказати, що Java написана на Java .... але це рамки та деякі бібліотеки. Про Erlang, як це є бажаною мовою програмування і підходить для телекомунікаційної системи ... для підтримки швидкості (наприклад: в чатах-ботах) Я знаю, що її компілятор або PreProcessor написаний в Erlang. Але інші функції мови написані на мовах низького рівня.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.