Nemerle — это компилируемый язык программирования высокого уровня со статической типизацией и сборкой мусора для .NET. Язык предлагает разработчикам возможности использования функционального, объектно-ориентированного и императивного стиля разработки. Язык обладает простым C-подобным синтаксисом и мощной системой метапрограммирования.

Характеристика языкаПравить

Основные концепции:

  • Наличие локальных функций. Функция является полноправным объектом, то есть может быть сохранена в переменной, передана в качестве аргумента в другую функцию или возвращена из функции.
  • Оптимизация хвостовой рекурсии.
  • Выведение типов. В частности, возможно выведение типов локальных переменных и выведение сигнатуры локальных функций.
  • Отсутствие четкой границы между инструкцией (statement) и выражением (expression). «Everything is expression». Например, условный оператор может находится внутри арифметического выражения. Нет необходимости в инструкции return.
  • Блоки кода, упраздняющие необходимость в таких инструкциях, как break или continue.
  • Вариантные типы, кортежи и сопоставление с образцом.
  • Упрощенный синтаксис работы со списками. Списковые литералы.
  • Типо-безопасные «гигиеничные» макросы и квази-цитирование.

Название языка происходит от имени мага Nemmerle из «Волшебника Земноморья» Урсулы Ле Гуин.

См. такжеПравить

СсылкиПравить