Nemerle
Перейти к навигации
Перейти к поиску
Nemerle |
- Тип исполнения:
- компилируемый
- Разработчики:
- Вроцлавский университет; Михаль Москаль, Камил Скальски, Павел Олшта и др. [1]
Nemerle — это компилируемый язык программирования высокого уровня со статической типизацией и сборкой мусора для .NET. Язык предлагает разработчикам возможности использования функционального, объектно-ориентированного и императивного стиля разработки. Язык обладает простым C-подобным синтаксисом и мощной системой метапрограммирования.
Характеристика языка[править | править код]
Основные концепции:
- Наличие локальных функций. Функция является полноправным объектом, то есть может быть сохранена в переменной, передана в качестве аргумента в другую функцию или возвращена из функции.
- Оптимизация хвостовой рекурсии.
- Выведение типов. В частности, возможно выведение типов локальных переменных и выведение сигнатуры локальных функций.
- Отсутствие четкой границы между инструкцией (statement) и выражением (expression). «Everything is expression». Например, условный оператор может находится внутри арифметического выражения. Нет необходимости в инструкции return.
- Блоки кода, упраздняющие необходимость в таких инструкциях, как break или continue.
- Вариантные типы, кортежи и сопоставление с образцом.
- Упрощенный синтаксис работы со списками. Списковые литералы.
- Типо-безопасные «гигиеничные» макросы и квази-цитирование.
Название языка происходит от имени мага Nemmerle из «Волшебника Земноморья» Урсулы Ле Гуин.
См. также[править | править код]
Ссылки[править | править код]
- "Main Page". Retrieved 10 октября. Unknown parameter
|description=
ignored (help); Unknown parameter|accessyear=
ignored (help); Unknown parameter|lang=
ignored (help); Check date values in:|accessdate=
(help) - "Nemerle". Retrieved 10 октября. Unknown parameter
|description=
ignored (help); Unknown parameter|accessyear=
ignored (help); Check date values in:|accessdate=
(help) - "Nemerle". Retrieved 10 октября. Unknown parameter
|description=
ignored (help); Unknown parameter|accessyear=
ignored (help); Check date values in:|accessdate=
(help) - "Nemerle". Retrieved 10 октября. Unknown parameter
|description=
ignored (help); Unknown parameter|accessyear=
ignored (help); Check date values in:|accessdate=
(help) - "Nemerle". Retrieved 10 октября. Unknown parameter
|description=
ignored (help); Unknown parameter|accessyear=
ignored (help); Check date values in:|accessdate=
(help)