4 ms·
April is really neat for a few (in my opinion, obvious) reasons. Some highlights: Like most modern APLs created by "outsiders," April is k-influenced in some o
by kick 7y ago
April is really neat for a few (in my opinion, obvious) reasons. Some highlights:
Like most modern APLs created by "outsiders," April is k-influenced in some of its additions to the language:
https://github.com/phantomics/april#unique-language-features-in-april https://github.com/phantomics/april#unique-language-features...
It's probably the most portable non-ASCII/touchtype APL interpreter outside of the Javascript ones:
https://github.com/phantomics/april#automatic-installation https://github.com/phantomics/april#automatic-installation
(That covers basically every modern system with an MMU, as far as I'm aware.)
I'm not sure if it has a possible audience of both Common Lisp programmers and APL users, or a maximum audience restricted to people who know them both. In any case, it's really cool, even if the collective audience for it is maybe two dozen people.
- cosmojg 7y ago> In any case, it's really cool, even if the collective audience for it is maybe two dozen people. Out of curiosity, are you part of that audience? And if so, what was your experience playing with it? Is it a good place to get started with APLs or should I look elsewhere?
- kick 7y agoGreat questions! I wouldn't really say I use Common Lisp (I wrote a few interpreters for a few Lisp dialects as an adolescent, including for CL, but haven't really ever casually used the language itself for anything outside of demonstrating concepts to other programmers). April is fun to play with, but I wouldn't really recommend it for getting started with APLs. It was missing a few things the last time I played around with it. The way I'd recommend you learn APL is through J's "Labs" feature, which is effectively an interactive set of lessons inside of the J REPL, written by some amazing people (including KEI himself). Grab a copy of J (I'd recommend getting a copy from the website, because most distributions I've used package it poorly if at all), then run: jx 0 After that, you can basically just go along with what it tells you. They're all listed by number, so if you want to come back to the lesson you're on later, just check what the number of it is. You can even search through them: jx '' will list categories for them, jx 'categoryName' will list the labs within the category. From there, learning shouldn't be that hard, though learning resources for APL in general still aren't where I'd like them to be.