Joy

From Esolang
Jump to navigation Jump to search
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

See also