Jelly: Difference between revisions

Jump to navigation Jump to search
678 bytes added ,  17:21, 28 April 2021
m
no edit summary
No edit summary
mNo edit summary
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Jelly}}{{Infobox array language
{{DISPLAYTITLE:Jelly}}{{Infobox array language
| title                    = Jelly
| title                    = Jelly
| array model              = [[nested array model|nested]]
| array model              = [[List model|Lists]]
| index origin            = 1
| index origin            = 1
| function styles          = [[tacit]], [[dfn|links]]
| function styles          = [[tacit]]
| numeric types            = unbounded float
| numeric types            = unbounded float
| unicode support          = full
| unicode support          = full
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, created and maintained by CGCC user [https://codegolf.stackexchange.com/users/12012/dennis Dennis].
'''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.
* 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.


== Similarities ==
== External Links ==
* Like APL, Jelly uses a wide range of Unicode glyphs. However, Jelly extends the glyph set to 256 characters in the US International keyboard, as well as the addition of 2-character digraphs.
* [https://tio.run/#jelly Try It Online]
 
* [https://github.com/DennisMitchell/jellylanguage/wiki/Tutorial Tutorial]
== Differences ==
{{APL dialects}}[[Category:Programming languages]][[Category:Languages with tacit programming]]
* Unlike APL, Jelly 's dfns are called "links". Newlines are used to separate links, the last line of the program is called the main link.
{{APL dialects}}

Navigation menu