Jelly: Difference between revisions

Jump to navigation Jump to search
118 bytes added ,  15:51, 10 March 2022
no edit summary
No edit summary
No edit summary
Line 19: Line 19:
}}
}}


'''Jelly''' is an APL-like language inspired by [[J]]. It extends J with many built-ins intended to give Jelly an advantage in [[code golf]], e.g. divmod, the hash function, and string compression. Jelly uses different terminology from normal APL usage. [[Train]]s (which work similar to [[K]]'s) are called ''links''. Newlines or statement separators are used to separate links, the last line of the program is called the main link. Built-in functions are called ''atoms'', while derived functions are called ''chains''.
'''Jelly''' is an APL-like language inspired by [[J]]. It extends J with many built-ins intended to give Jelly an advantage in [[code golf]], e.g. divmod, the hash function, and string compression. Jelly uses different terminology from normal APL usage. Built-in functions are called ''atoms'', while derived functions are called ''links''. Newlines or statement separators are used to separate links, the last line of the program (''chain'') is called the main link.
* Like K, Jelly uses the [[list model]] for its arrays.
* Like [[K]], Jelly uses the [[list model]] for its arrays.
* Like APL, Jelly uses a wide range of Unicode [[glyph]]s. However, Jelly extends the glyph set to 256 characters from the US International keyboard, as well as the addition of 2-character digraphs.
* Like APL, Jelly uses a wide range of Unicode [[glyph]]s. However, Jelly extends the glyph set to 256 characters from the US International keyboard, as well as the addition of 2-character digraphs.
* Unlike any other language in the APL family, Jelly atoms have a fixed [[valence]], making Jelly appear more like a stack-based language, and obviating the need for parentheses.
* Unlike any other language in the APL family, Jelly atoms have a fixed [[valence]], making Jelly appear more like a stack-based language, and obviating the need for parentheses.
Some constructs clearly show Jelly lineage through J to APL, e.g. summation can be written as <code>+/</code> (although Jelly also has a dedicated built-in for this).


== External Links ==
== External Links ==

Navigation menu