example fibanacci fn:
fib:(n:(neg 1)+;0@n do(2 enlist 1@x sum x~)[0 1]);31–40 of 107 posts
example fibanacci fn:
fib:(n:(neg 1)+;0@n do(2 enlist 1@x sum x~)[0 1]);Earlier quoted context omitted.
If (and I grant, this is a big if ) you are used to them, the symbolic nature of APLs allows to discuss code fragments (and even entire* algorithms) using inline elements instead of as separate interspersed blocks. The difference between scanning algol-style and apl-style code is a little like the difference between scanning history books and maths books: on one hand, one must scan the latter much more slowly (symbol…
APL people often point to the definition of "average" as evidence for its economy of expression: +/÷≢ They make the argument "the word 'average' has more symbols than its definition, so why not just use the definition inline as a tacit function?" There's some elegant beauty in this that I'm sympathetic to. However, I think it's fundamentally flawed for one big reason, which in my opinion is the core of the unreadabil…
I’m not entirely certain most programs will ever be pronounced.
> What is wrong with this? average := add reduce divide tally
Nothing, but but it seems to imply that this: average := +/÷≢
… nicely resolves this issue of wanting to use words — AKA sequences of pronounceable but semantically meaningless glyphs —- as human-friendly (at least for English-fluent humans) mnemonics for programs — AKA sequences of not-muscle-memory-pronounceable but semantically meaningful glyphs), yeah?
Mind you I haven’t looked at the language deeply enough to know you can actually define an alias like that.
Oh hey, I made this. Cool to see it at the top of HN!
Oh hey, I made this. Cool to see it at the top of HN!
It looks unlike anything I've ever seen before. Are there any other languages that use glyphs so heavily? What was your inspiration? I have no idea how I would use this language, but it's put a smile on my face. Amazing work.
This is the case with most of the languages in the APL family, but especially APL [1] and BQN [2].
[1] https://en.wikipedia.org/wiki/APL_(programming_language)
Oh hey, I made this. Cool to see it at the top of HN!
It looks unlike anything I've ever seen before. Are there any other languages that use glyphs so heavily? What was your inspiration? I have no idea how I would use this language, but it's put a smile on my face. Amazing work.
APL (the first, invented in the 1960s): https://en.wikipedia.org/wiki/APL_(programming_language)
BQN (a modern APL, looks like an inspiration for Uiua though I don't know): https://mlochbaum.github.io/BQN/
Too many smaller esoteric languages to count.
Earlier quoted context omitted.
If (and I grant, this is a big if ) you are used to them, the symbolic nature of APLs allows to discuss code fragments (and even entire* algorithms) using inline elements instead of as separate interspersed blocks. The difference between scanning algol-style and apl-style code is a little like the difference between scanning history books and maths books: on one hand, one must scan the latter much more slowly (symbol…
APL people often point to the definition of "average" as evidence for its economy of expression: +/÷≢ They make the argument "the word 'average' has more symbols than its definition, so why not just use the definition inline as a tacit function?" There's some elegant beauty in this that I'm sympathetic to. However, I think it's fundamentally flawed for one big reason, which in my opinion is the core of the unreadabil…
My recent exposure to array programming languages came via a podcast called The Array Cast[1] Not affiliated, just recommending. The regular co-hosts appear to each be experienced with various array languages such as J, APL, etc. They don't get deeply technical, but it's a nice introduction, especially on explaining the appeal. A recent episode had Rob Pike (UTF-8, Go, etc.) on to talk about his array based calculato…
Can array languages be used as general purpose languages in any practical way? Or are they really only strong as calculators?
[1] https://help.dyalog.com/latest/#Language/Control%20Structure...