Live data from Hacker News

Array-programming the Mandelbrot set

jcmorrow.com

21–23 of 23 posts

Re: Array-programming the Mandelbrot set

#21
post #5

> As is often the case with array programming, I revisited this last week only to realize I couldn’t read it > The advantage of array languages in my experience has always been their immediacy. They seem to have a lot in common with regexes in that regard. Super useful for interactive use cases in editors, search engines, etc. But if you find yourself saving a regex it's at least code smell and probably a red flag. S…

The author is clearly a novice who has just tinkered with array languages a little. Extrapolating from that to absolute properties of a tool seem a bit overeager, don't you think? For example, do you think you could design a legible analog circuit without significant time learning the craft? My experience is with APL, but I think it is capable of producing some of the most readable and maintainable codebases out ther…

It seemingly takes a long time to write good software too, co-dfns is infinity+1 years in progress...

Re: Array-programming the Mandelbrot set

#22

Earlier quoted context omitted.

The author is clearly a novice who has just tinkered with array languages a little. Extrapolating from that to absolute properties of a tool seem a bit overeager, don't you think? For example, do you think you could design a legible analog circuit without significant time learning the craft? My experience is with APL, but I think it is capable of producing some of the most readable and maintainable codebases out ther…

> My experience is with APL, but I think it is capable of producing some of the most readable and maintainable codebases out there. Cool! Do you have any public examples to point to? I would be curious to see how a larger project looks, given that I only use array languages for side projects, so my code is often not very legible (e.g. https://github.com/jcmorrow/advent_of_code/blob/master/day_2... ).

You won't get anything from vapourware salesmen.

Re: Array-programming the Mandelbrot set

#23

Earlier quoted context omitted.

The author is clearly a novice who has just tinkered with array languages a little. Extrapolating from that to absolute properties of a tool seem a bit overeager, don't you think? For example, do you think you could design a legible analog circuit without significant time learning the craft? My experience is with APL, but I think it is capable of producing some of the most readable and maintainable codebases out ther…

> My experience is with APL, but I think it is capable of producing some of the most readable and maintainable codebases out there. Cool! Do you have any public examples to point to? I would be curious to see how a larger project looks, given that I only use array languages for side projects, so my code is often not very legible (e.g. https://github.com/jcmorrow/advent_of_code/blob/master/day_2... ).

My YAML loader[0] is a condensed example of the architecture and techniques I'm thinking of. It's a couple years old, so the code is dirty by my current standards, but the couple of times I've gone back to read it, I have found the YAML-specific concerns to be quite salient.

That said, it's specifically written for an audience that is familiar with YAML detail in particular, parsing more generally, and of course APL expressions of ideas. In fact, that is a big part of what makes the code readable and maintainable: it is optimized for communicating to the expert worker not for on-boarding new developers. The latter is more appropriately handled via other means IMHO.

The poster child for this style of APL is Co-dfns[0]. It's a production APL compiler and a much larger example of the code I'm talking about. The entrypoint to read is cmp/PS.apl.

If you're interested, I'm willing to have a chat and talk more about what makes this kind of APL imminently workable, in which case there are also some personal private examples I could share as well. Feel free to reach out to the contact info on my profile here.

[0]:https://github.com/xelxebar/dayaml/blob/master/Y.apln.

[1]:https://github.com/Co-dfns/Co-dfns

Post reply on HN