Joy
| Designed by | Manfred von Thun |
|---|---|
| Appeared in | 2001 |
| Computational class | Turing-complete |
| Reference implementation | Defunct |
| Influenced | Cammy, catlangwiki:Factor, mlatu |
Joy is the paradigmatic pure concatenative language. It supports function-level programming and pointfree programming. All operations are idealized as stack effects; Joy expressions are like functions which operate on a stack of parameters. Joy is also the origin of the modern approach to quotations in stack-based languages.
mjoy
mjoy is an implementation of Joy in the Lazarus IDE. It's just a subset of Joy. The idea was to introduce children to Joy programming by using a simple turtle graphic system for practice. The turtle graphic commands were formulated entirely in mjoy, with the turtle as a list object.
Example:
init 100 -100 moveto 45 rad turn 70 move turtle draw
Joy of Postfix
Joy of Postfix is an implementation of Joy in Kotlin for Android mobile phones. It is also a subset of Joy, but it is significantly richer in implemented features than mjoy. It serves as an App for Reverse-Polish-Notation fans who also want to take advantage of Joy's programmable capabilities. Documentation.
Example:
factorial == [null] [succ] [dup pred] [*] linrec 7 factorial . --> 5040
Implementations
- La Trobe University Zip-files
- Joy source code (GitHub-Archive)
- mjoy, an interpreter for drawings with turtle graphics (Subset of Joy)
- JoyOfPostfix/App in heise/Download in the Android Register (Subset of Joy) and the PDF-file