Tuesday, September 22, 2015

[gxmeamek] Two-letter symbols

Design a programming language that avoids symbols/operators (because they are hard to type and hard to look up) but instead uses two-letter words for reserved words and important functions.  There are 26^2=676 available.  The user gets to define identifiers of 1 letter or 3 or more letters.

Of course, the boundary between user and library writer is fuzzy.

Interestingly weird might be if a Lisp-like language avoided parentheses but instead used, say, "bn" (begin) and "nd" (end) everywhere.  Perhaps that's what the user types but the IDE UI renders their contents as pretty-printed indented blocks.

Inspired by whether the (.) operator should be function composition (as it is by default), or weak-precedence reverse function application as in the Air library for Haskell, mimicking object-oriented programming style.

Also inspired by the opaqueness of languages that use lots of non-letter symbols, perhaps permitted user-defined operators, causing programs to look like line noise.  Though, a whole bunch of two letter codes might not be much better.

No comments :