Jelly: Difference between revisions

Jump to navigation Jump to search
127 bytes added ,  17:21, 28 April 2021
m
no edit summary
No edit summary
mNo edit summary
(5 intermediate revisions by 2 users not shown)
Line 16: Line 16:
| documentation            = [https://github.com/DennisMitchell/jellylanguage/wiki Github Wiki]
| documentation            = [https://github.com/DennisMitchell/jellylanguage/wiki Github Wiki]
| influenced by            = [[Dyalog APL]], [[J]]
| influenced by            = [[Dyalog APL]], [[J]]
| influenced              = [[Jellyfish]]
| run online              = [https://tio.run/#jelly TIO]
| run online              = [https://tio.run/#jelly TIO]
}}
}}


'''Jelly''' is a dialect of APL in Python influenced by [[J]], created and maintained by CGCC user [https://codegolf.stackexchange.com/users/12012/dennis Dennis]. It extends APL with a plethora of extensions suitable for [[code golf]], e.g. divmod, the hash function, and string compression.
'''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''.
 
* 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.
* 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''.
* 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.
* Jelly atoms have a fixed [[valence]], making Jelly appear more like a stack-based language, and obviating the need for parentheses.


== External Links ==
== External Links ==
* [https://tio.run/#jelly Try It Online]
* [https://tio.run/#jelly Try It Online]
* [https://github.com/DennisMitchell/jellylanguage/wiki/Tutorial Tutorial]
* [https://github.com/DennisMitchell/jellylanguage/wiki/Tutorial Tutorial]
{{APL dialects}}
{{APL dialects}}[[Category:Programming languages]][[Category:Languages with tacit programming]]

Navigation menu