New ask Hacker News story: Ask HN: Improving the Notation of APL/J (and Other Languages)

Ask HN: Improving the Notation of APL/J (and Other Languages)
4 by earthicus | 0 comments on Hacker News.
It's well known that APL's notation is one of its central features, but I admit it , I find APL to be horrendous to read! It's not the use of symbols that turns me off - I was trained in mathematics and am a huge fan of symbolic notations. The defect is simply a limitation carried over from the 1960s: it's a 1D stream of chars of uniform size. Nowadays we have things like GNU Texmacs [1] which can do fantastic, semantically aware typesetting. Fully 2D notations are a nice to read, but a pain in the neck to type. Perhaps there's a sweet spot at "1.5D" notations: characters of different sizes, like the big summation symbol in mathematics & smaller sub/super-scripts. More generally a 'line' of a program is a grid of 3xN small/medium/large symbols rather than 1xN. We improve the readability of APL/J by adding enough variety to the different classes of symbols and operations so that it doesn't look like pure line noise. I would love to implement it myself, unfortunately I don't have the expertise to do it! Thus I have the following questions: 1. Does this already exist? Is there any array programming language that uses more elaborate-than-1d mathematical notation? 2. Is it technically feasible to slap a new frontend on APL or J using texmacs and have it generate the APL/J code? The tooling and workflow wouldn't be there but it would be a rough draft. 3. Is there any interest in a "1.5D" text editor analogous to VS Code for a new generation of languages with these easily inputted, typographically refined notations? 4. I'm a bored, partially disabled 30+ year old, who needs a new career. I'm slowly teaching myself programming, did part of SICP, now SML. Unfortunately all of my project ideas that I find motivating are far to ambitious for me to actually carry out! Are there any bored retirees out there who want to become a mentor and work with me in developing my elaborate projects? [1] https://ift.tt/1aKxomC

No comments