Pure - динамически типизированный функциональный язык программирования с моделью исполнения, основанной на идее «term rewriting».
- Синтаксис, бликий к Haskell (включая карринг, срезы, лямбды, сопоставление с образцом, list comprehensions и «as» patterns);
- Поддерживает модель ленивости, основанную на продолжениях и заимствованную из Alice ML;
- Допускает функции с побочными эффектами, опциональную аннотацию типов, интерфейсные типы
- Поддержка рациональных, комплексных чисел, встроенный RegEx;
- Содержит спектр встроенных структур данных, таких как: списки, туплы, векторы, матрицы и ленивые последовательности;
- Интеграция с GSL;
- Поддерживает полноценную систему гигиенических макросов;
- Лёгкий FFI с сишными библиотеками;
- Реализация под LLVM под GNU/Linux, Mac OS X, FreeBSD и Windows;
- Из коробки поддержка компиляции в нативный код;
- В комплекте идёт набор батареек для разнообразных нужд.
Про производительность заявляется следующее:
The Pure interpreter is able to achieve very good performance, offering execution speeds in the same ballpark as good Lisp interpreters. It seems to be one of the fastest implementations of term rewriting as a programming language right now, and is certainly good enough for most programming tasks except maybe the most demanding number crunching applications (and even these can be tackled by interfacing to Fortran or C).
Язык активно развивается, последняя версия документации датирована 8 января, автор постоянно пилит своё детище, активно идёт на контакт и охотно принимает и рассматривает любые предложения.
Ссылка на страницу проекта: http://code.google.com/p/pure-lang/
Ссылка на документацию (pdf): http://docs.pure-lang.googlecode.com/hg/puredoc.pdf
Ссылка на пример полной реализации АВЛ-деревьев: http://pure-lang.googlecode.com/hg/pure/examples/avltree.pure
Репозиторий (лицензия LGPLv3): hg clone https://code.google.com/p/pure-lang/