trusted
69
edits
No edit summary |
(add design section.) |
||
Line 24: | Line 24: | ||
= Design = | = Design = | ||
Glee is designed as a more convenient APL-style language in the creator's eyes: | Glee is designed as a more convenient APL-style language in the creator's eyes: | ||
<blockquote> | <blockquote> | ||
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. | 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. | ||
</blockquote> | </blockquote> | ||
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. | |||
* 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. | |||
* Operators in Glee can be up to 3 symbols in length. This has not been observed in any other array language. | |||
* All values in Glee 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 <code>#</code>. These provide additional functions and values outside the symbolic primitives included. | |||
Prettyprinting is not done on values by default. Higher depth arrays can be inspected using the <code>%**</code> operator. | |||
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]] | |||
[[Category:Array languages]][[Category:ASCII languages]] | [[Category:Array languages]][[Category:ASCII languages]] |