From APL Wiki
Revision as of 22:43, 24 January 2024 by Marshall (talk | contribs) (List-based array language category)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Glee is a J-inspired left-to-right evaluated ASCII array language which is "targeted at applications where languages like PERL, Python, and Java have found secure homes." It has a focus on programming features which are generally uncommon in array languages, allowing variable references, complex scoping, built-in stream and socket support, pre-made container objects, fields and many others.

Glee has not been updated since 2004. No activity has been logged on the main site since that year.


Glee is designed as a more convenient APL-style language in the creator's eyes:

Glee is my-own, and to me, my-better APL. It keeps the features I enjoyed in APL and removes the warts. It supplies features I always wished APL had.

In that vein of thought, it completely abandons many tools supported in modern APL implementations.

  • There are no tradfns and no dfns. All functions are declared using blocks, which take their arguments via variable references.
  • The language is evaluated left to right.
  • The general method of looping is via imperative looping constructs (:for, :while, etc.) which take blocks as arguments.
  • Operators (like APL primitives) can be up to 3 symbols in length.
  • All values are objects with their own properties (akin to Ruby/Perl). They can be checked using a : suffix.
  • Glee has numerous reserved words which all start with a #. These provide additional functions and values outside the symbolic primitives included.

Pretty-printing is not done on values by default. Higher depth arrays can be inspected using the %** operator.

Glee comes packaged with a GUI-based IDE with some debugging capability. It has been confirmed to work on Windows 10.

Glee IDE
APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000Pometo
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