Jelly: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{DISPLAYTITLE:Jelly}}{{Infobox array language
{{DISPLAYTITLE:Jelly}}{{Infobox array language
| title                    = Jelly
| title                    = Jelly
| array model              = [[flat array model|flat]]
| 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 19: Line 19:
}}
}}


'''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 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.


* 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.
* 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 introduces new terms to re-define the APL terms. Unlike APL, Jelly 's trains are called "links". Newlines are used to separate links, the last line of the program is called the main link. Built-in functions are called "atoms", the tacit composition of them is called a "chain".
* 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''.
* There isn't a known way to configure the index origin in Jelly.
* 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 ==

Revision as of 10:41, 26 April 2020


Jelly is a dialect of APL in Python influenced by J, created and maintained by CGCC user Dennis. It extends APL with a plethora of extensions suitable for code golf, e.g. divmod, the hash function, and string compression.

  • Like APL, Jelly uses a wide range of Unicode glyphs. 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. Trains (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 atoms have a fixed valence, making Jelly appear more like a stack-based language, and obviating the need for parentheses.

External Links

APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000PometoTinyAPL
Historical A Programming LanguageA+ (A) ∙ APL#APL2CAPL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXExtended Dyalog APLIverson notationIVSYS/7090NARSngn/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyK (Goal, Klong, Q) ∙ KamilaLispLang5LilNialRADUiua
Overviews Comparison of APL dialectsTimeline of array languagesTimeline of influential array languagesFamily tree of array languages