TinyAPL: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(Change release year from 2023 to 2024, when it first ran as an interpreter)
m (Takes a lot from Extended Dyalog, including things that aren't in Visions)
Line 16: Line 16:
| download                = [https://github.com/RubenVerg/tinyapl/releases/ Releases]
| download                = [https://github.com/RubenVerg/tinyapl/releases/ Releases]
| documentation            = (click menu icon)
| documentation            = (click menu icon)
| influenced by            = [[Dyalog APL]], [[BQN]], [[J]], [[Kap]], [[Dyalog APL Vision]]
| influenced by            = [[Dyalog APL]], [[BQN]], [[Extended Dyalog APL]], [[J]], [[Kap]]
| run online              = [https://tinyapl.rubenverg.com/run/latest Web REPL (latest)]
| run online              = [https://tinyapl.rubenverg.com/run/latest Web REPL (latest)]
}}
}}

Revision as of 13:54, 29 August 2024


TinyAPL is an APL variant developed by Madeline Vergani, which supports a large number of primitives while maintaining a small source code size. It breaks backwards compatibility with existing APLs in major ways: for example, function axis and last-axis counterparts of first-axis primitives are removed in favor of leading axis theory, and array notation is provided rather than strand notation. In order to give the language a context-free grammar, a spelling convention with capital letters for functions and underscores for operators is used (matching BQN's convention, but like APL\iv, spellings can't be varied, so that the spelling always matches the type). Similarly dops are written with underscores next to braces.

TinyAPL adds many primitives for mathematics, array manipulation, and tacit programming. It also uses an explicit syntax for function and operator trains, rather than the invisible notation used in J and Dyalog APL. It supports character arithmetic.

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