Оглавление
LFE (язык программирования)
-
Описание LFE
- Функциональный, параллельный, собирающий мусор язык программирования
- Диалект Лиспа, построенный на ядре Erlang и виртуальной машине BEAM
- Обеспечивает синтаксис Lisp для распределенных, отказоустойчивых приложений реального времени
-
История и мотивация
- Первоначальная работа началась в 2007 году
- Первый выпуск анонсирован в 2008 году
- Мотивы: опыт программирования на Лиспе, интеграция с Erlang, эксперименты с компиляцией
-
Особенности
- Полная интеграция с Erlang
- Метапрограммирование с помощью макросов Lisp
- Документация в стиле Common Lisp
- Архитектура без общего доступа, параллельное программирование
- Упор на рекурсию и функции более высокого порядка
- Полный цикл чтения-оценки-печати (REPL)
- Сопоставление с образцом, горячая загрузка кода
- Разделение пространств имен для переменных и функций
- Взаимодействие с Java через JInterface и Erjang
- Возможности создания сценариев
-
Синтаксис и семантика
- Символьные выражения (S-выражения)
- Списки: элементы разделяются пробелами и заключаются в круглые скобки
- Операторы: арифметические операторы вариационные, могут принимать любое количество аргументов
- Лямбда-выражения и определение функций
-
Идиомы языка эрланг в LFE
- Сопоставление с образцом
- Перечислите понятия
- Стража
- Недостатки в функциональных заголовках
- Получение сообщений
-
Примеры
- Совместимость с Erlang
- Функциональная парадигма
- Использование рекурсии для определения функции Аккермана
- Составляющие функции
- Совпадение
- Передача сообщений с помощью простых “процессов” Erlang
- Несколько одновременных HTTP-запросов
-
Рекомендации
- Внешние ссылки
- Официальный веб-сайт
- LFE на GitHub
- Быстрый старт LFE
- Руководство пользователя LFE
- LFE по коду Розетты