Unlambda
Sign in to saveUnlambda is a minimal, "nearly pure" functional programming language invented by David Madore. It is based on combinatory logic, an expression system without the lambda operator or free variables. It relies mainly on two built-in functions (s and k) and an apply operator (written `, the backquote character). These alone make it Turing-complete, but there are also some input/output (I/O) functions to enable interacting with the user, some shortcut functions, and a lazy evaluation function. Variables are unsupported.
Key facts
- Programming language.name
- Unlambda
- Programming language.paradigm
- Nearly pure functional
- Programming language.designer
- David Madore
- Programming language.developer
- David Madore
- Programming language.latest release version
- 2.0.0
- Programming language.typing
- Untyped
- Programming language.programming language
- Scheme, C, Java
- Programming language.license
- GPL 2.0 or later
- Programming language.file format
- <!-- or:
- Programming language.file formats
- -->
via Wikipedia infobox
Wikidata facts
- Official website
- www.madore.org/~david/programs/unlambda
Show 1 more fact
- inception
- 1999-06-28
Sources (1)
via Wikidata · CC0
Article · Русский
Unlambda — минимальный функциональный язык программирования, придуманный Дэвидом Мэдором (David Madore). Он основан на комбинаторной логике, варианте лямбда-исчисления, который опускает оператор lambda. Язык полагается в основном на две встроенные функции (s и k) и оператор аппликации (`). Уже это делает язык полным по Тьюрингу, но в нём также есть несколько функций ввода-вывода для возможности взаимодействия с пользователем, функция для ленивых вычислений и короткие эквиваленты некоторых функций. Будучи эзотерическим языком программирования, Unlambda предназначена для демонстрации очень чистого функционального языка, а не для практического использования. Главная особенность — отсутствие обычных операторов и типов данных — функции от одного аргумента являются единственным типом данных. Несмотря на это, данные могут быть воспроизведены при помощи соответствующих функций, как в лямбда-исчислении. Функции нескольких аргументов могут быть представлены при помощи карринга. Unlambda основана на принципе исключения абстракций (abstraction elimination) или исключения всех сохранённых переменных, включая функции. Как в чисто функциональном языке, в Unlambda функции не только являются объектами первого класса, но и единственными объектами первого рода.
Abstract from DBpedia / Wikipedia · CC BY-SA