Glee: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
m (List-based array language category)
 
(4 intermediate revisions by 2 users not shown)
Line 7: Line 7:
| unicode support = none
| unicode support = none
| released = 1st February, 2002
| released = 1st February, 2002
| developer = GLEE team(anonymous)
| developer = GLEE team (anonymous)
| latest release version = 1.0.1.96 / 2004
| latest release version = 1.0.1.96 / 2004
| implementation languages = Borland C++
| implementation languages = [[wikipedia:Borland C++|Borland C++]]
| operating systems = Windows 95 and above
| operating systems = Windows 95 and above
| license = proprietary, free download
| license = proprietary, free download
Line 18: Line 18:
| influenced by = APL, [[J]], [[K]]
| influenced by = APL, [[J]], [[K]]
}}
}}
'''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''' 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 has not been updated since 2004. No activity has been logged on the main site since that year.
Line 28: Line 28:
</blockquote>
</blockquote>
In that vein of thought, it completely abandons many tools supported in modern APL implementations.
In that vein of thought, it completely abandons many tools supported in modern APL implementations.
* There are no [[tradfn|tradfns]] and no [[dfn|dfns]]. All functions are declared using blocks, which take their arguments via variable references.
* There are no [[tradfn]]s and no [[dfn]]s. All functions are declared using blocks, which take their arguments via variable references.
* The language is evaluated left to right.
* The language is evaluated left to right.
* The general method of looping is via imperative looping constructs (<code>:for</code>, <code>:while</code>, etc.) which take blocks as arguments.
* The general method of looping is via imperative [[Control structure|looping constructs]] (<code>:for</code>, <code>:while</code>, etc.) which take blocks as arguments.
* Operators in Glee can be up to 3 symbols in length. This has not been observed in any other array language.
* Operators (like APL [[primitive]]s) can be up to 3 symbols in length.
* All values in Glee are objects with their own properties(akin to Ruby/Perl). They can be checked using a : suffix.
* All values are objects with their own properties (akin to Ruby/Perl). They can be checked using a <code>:</code> suffix.
* Glee has numerous reserved words which all start with a <code>#</code>. These provide additional functions and values outside the symbolic primitives included.
* Glee has numerous reserved words which all start with a <code>#</code>. These provide additional functions and values outside the symbolic primitives included.


Line 39: Line 39:
Glee comes packaged with a GUI-based IDE with some debugging capability. It has been confirmed to work on Windows 10.
Glee comes packaged with a GUI-based IDE with some debugging capability. It has been confirmed to work on Windows 10.
[[File:Glee window.png|thumb|Glee IDE]]
[[File:Glee window.png|thumb|Glee IDE]]
[[Category:Array languages]][[Category:ASCII languages]]
{{APL dialects}}[[Category:List-based array languages]][[Category:ASCII languages]][[Category:Left to right]]
{{APL dialects}}

Latest revision as of 22:43, 24 January 2024

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