About Quirl
Quirl is a purely functional programming language with a focus on calculations. Its interpreter is written in pure JavaScript – and Quirl. The interpreter runs within your web browser without dependencies, the need to install anything or an active internet connection. You can chat with it! But it only understands Quirl. Don't worry, there is a tutorial and more documentation to help you learn the language!
Quirl is
- experimental
- purely functional
- dynamically typed
- eagerly evaluating
- mathematically inspired
- cool :)
Quirl supports
- recursion
- piecewise function definitions
- multiple dispatch
- partial application
- function composition
- memoization
- context-free grammars
- … and much more
Quirl does not
- prioritize speed
- support efficient data structures like arrays
- support loops or familiar control structures like if
- support a lot of operators
It works! But it isn't finished yet. Quirl and its interpreter are actively developed by me, Martin Janecke. However, you can adapt it as you wish: It's free and open source software licensed under the European Union Public License (EUPL).
By the way …
The name Quirl comes from quadratic irrationals, a set of numbers that includes the famous golden ratio. Quirl, unlike many other programming languages, handles these numbers with perfect precision by default.
Quirl is also a German name for a particular arrangement of leaves in botany (whorl) and of a similarly formed whisk-like kitchen utensil. The arrangement is reminiscent of the distribution of complex roots of a number. The Quirl interpreter can compute these roots for you.