Glee

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.

Design

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