Description #
Joy is a stack-based, concatenative functional programming language known for its point-free style and powerful combinators.
History #
Joy was created by Manfred von Thun in the 1990s at La Trobe University, Australia. Unlike most functional languages that use variables, Joy operates with functions manipulating a stack — similar to Forth but grounded in functional semantics.
Hello World Code #
"Hello, World!" print
How to Run #
Option 1: Online
Try Joy Online
Option 2: Local
- Clone from:
https://github.com/keithj/joy - Compile and run the interpreter:
gcc joy.c -o joy
./joy
Key Concepts #
- Stack-based computation
- Concatenative programming
- Point-free style (no variables)
- Combinators as core building blocks
- Pure functional semantics
- Recursive structures and lists
- Homoiconic code
- Influenced many esolangs
- Works well for symbolic computation
- Minimalist design
Try It Online #
https://www.hevanet.com/cristofd/joy.html
Fun Facts #
- Joy treats code as data, allowing functions to manipulate other functions.
- It influenced the creation of Cat, Factor, and Concatenative combinator calculi.
- Joy programs often read like mathematical proofs rather than traditional algorithms.