2024-06-25

vak: (Default)
Рефал - антисоветский язык программирования. Неспроста его автора выслали из страны, а имя запретили упоминать в статьях и публикациях. Описание языка с трудом удалось напечатать тиражом 800 экземпляров в заводской типографии строителей, без указания авторства. Добыть эту книжку в советское время было невозможно. Мне про неё только слухи рассказывали, да и то тихим голосом.

После отъезда Турчина в Советском Союзе остались группы энтузиастов, да и сам он тоже продолжал развивать язык. Это привело к фрагментации: образовалось несколько несовместимых версий Рефала. Общий стандарт не сложился. А со временем и вообще интерес к языкам такого типа угас. Нет в них надобности в современном мире.

На сегодняшний день мне известно три опенсорсных реализации Рефала. Перечислю здесь для памяти.
  1. github.com/cmc-msu-ai/refal - Рефал-2 на языке Си++. Эта версия ближе всего к Рефалу БЭСМ-6, который народ помнит и любит.
  2. github.com/muspellsson/refal5 - Рефал-5 на языке Си. Осовремененный синтаксис, разработанный самим Турчиным.
  3. github.com/ilya-klyuchnikov/refal - Рефал-5 на языке Rust. Красивая минималистичная реализация.
Все эти версии успешно компилируются и работат на Линуксе и MacOS. Не уверен, большая ли в этом польза: мне ни разу не удалось применить Рефал в реальной жизни. Но какие-то примерчики погонять можно.