# Unlambda

> functional programming language

**Wikidata**: [Q670180](https://www.wikidata.org/wiki/Q670180)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Unlambda)  
**Source**: https://4ort.xyz/entity/unlambda

## Summary
Unlambda is an esoteric functional programming language created by French mathematician David Madore in 1999. Built on the SKI combinator calculus, it deliberately removes variables and lambda abstraction to create a minimal language that is intentionally difficult to use.

## Key Facts
- Created by David Madore on June 28, 1999
- Based on SKI combinator calculus and call-with-current-continuation
- Licensed under GNU General Public License
- Classified as both an esoteric programming language and functional programming language
- Official website: http://www.madore.org/~david/programs/unlambda/
- Available as debian_stable_package: unlambda
- Wikipedia articles exist in 10 languages including English, French, Japanese, and Russian
- Has 11 sitelinks across Wikimedia projects

## FAQs
### Q: What makes Unlambda different from other programming languages?
A: Unlambda intentionally removes fundamental programming concepts like variables and lambda abstraction, making it extremely minimal and deliberately difficult to program in. It consists only of function application and a small set of built-in functions.

### Q: Who created Unlambda and why?
A: French mathematician and computer scientist David Madore created Unlambda in 1999. As an esoteric programming language, it was designed as a mathematical curiosity rather than for practical software development.

### Q: What is Unlambda based on?
A: Unlambda is based on the SKI combinator calculus, a computational system that uses only combinators (basic functions) to perform all computations. It also incorporates call-with-current-continuation for control flow.

## Why It Matters
Unlambda represents a fascinating intersection of mathematical theory and programming language design. By stripping away conventional programming constructs, it demonstrates that computation can be achieved through an extremely minimal set of operations. This makes it valuable for theoretical computer science education, showing how complex behaviors emerge from simple rules. As an esoteric language, it challenges programmers to think differently about problem-solving and highlights how much we take for granted in conventional languages. Unlambda also serves as a concrete implementation of combinator calculus, making abstract mathematical concepts tangible and executable.

## Notable For
- Intentionally removes variables and lambda abstraction from functional programming
- One of the most minimal programming languages ever created
- Based purely on combinator calculus, making it a living demonstration of mathematical computation theory
- Deliberately designed to be "user-unfriendly" as an artistic and mathematical statement
- Successfully implements Turing-complete computation using only function application and a handful of primitives

## Body
### Origins and Creation
David Madore, a French mathematician and computer scientist born in 1976, created Unlambda in 1999. The language emerged from his interest in theoretical computer science and combinator calculus. Released on June 28, 1999, Unlambda was designed as an artistic and mathematical exploration rather than a practical tool.

### Technical Foundation
Unlambda builds upon two key theoretical foundations:
- SKI combinator calculus: A computational system using only three basic combinators (S, K, and I)
- Call-with-current-continuation: A control flow mechanism that captures the current state of computation

The language removes traditional programming constructs, leaving only function application and a minimal set of built-in functions. This extreme minimalism makes even basic operations challenging to implement.

### Distribution and Availability
The language is freely available under the GNU General Public License. Its official website at http://www.madore.org/~david/programs/unlambda/ provides documentation and implementations. Debian Linux distributions include Unlambda as an available package, making it easily accessible for those interested in exploring esoteric programming.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Unlambda",
  "description": "An esoteric functional programming language based on SKI combinator calculus",
  "url": "http://www.madore.org/~david/programs/unlambda/",
  "sameAs": ["https://www.wikidata.org/wiki/Q2717881", "https://en.wikipedia.org/wiki/Unlambda"],
  "additionalType": "ProgrammingLanguage"
}

## References

1. Freebase Data Dumps. 2013