Live data from Hacker News

Array-programming the Mandelbrot set

jcmorrow.com

11–20 of 23 posts

Re: Array-programming the Mandelbrot set

#12

Mega-cool. This is a totally different way to think about it. Uiua seems intimidating, I had never heard of it before.

Uiua is super friendly. Like the friendliest language ever. It breaks your brain for sure, but in a pleasant way.

It is by far the easiest way to learn an array based language; thanks largely to the web based “Pad” and the clever text to symbol way of writing the code. Do some of the tutorial stuff, it’s fun and all inline on the web. Works great on mobile! Think of it like sudoku, but for programming. You can do real stuff with it also, but for me it’s just for fun.

Re: Array-programming the Mandelbrot set

#15

Mega-cool. This is a totally different way to think about it. Uiua seems intimidating, I had never heard of it before.

Just started going through the tutorial, and it is, indeed, mega-cool.

Btw, here's the identity matrix of size 3:

˙⊞=⇡3

(It takes the range [0,1,2] then outerproducts it with itself through equality.)

Re: Array-programming the Mandelbrot set

#16
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 there. I've worked for years in various projects using Python, Java, C, Scheme, and a smattering of many other languages. However, it's really hard to overstate the clarity that comes from data-oriented design and dogged elimination of API boundaries.

It just takes a long time to learn to write good software in good APL style. In many ways all the in vogue best practices these days around declarative and functional programming tend to work antithetically to writing good array code. This means that the learning curve for experienced programmers is, perhaps paradoxically, higher than that of a totally naive beginning coder.

I really wish I knew some way to directly convey the experience of working with APL at a high level. There's really nothing else much like it.

Re: Array-programming the Mandelbrot set

#17
post #14

Mega-cool. This is a totally different way to think about it. Uiua seems intimidating, I had never heard of it before.

Is Uiua really pronounced the way it says so on the site ? It feels wrong.

Haha, I think I understand what you mean, but also, how else would you say uiua? I was at a total loss when I first read it.

Re: Array-programming the Mandelbrot set

#18
post #14

Earlier quoted context omitted.

Is Uiua really pronounced the way it says so on the site ? It feels wrong.

Haha, I think I understand what you mean, but also, how else would you say uiua? I was at a total loss when I first read it.

I asked Google to describe it and it described how I pronounce it:

"Uiua" is pronounced like "oo-ee-oo-ah", with the sounds flowing together. The "u" sound is like in "boo," and the "i" sound is like in "see," while the final "ua" is a combination of the "oo" sound and the "ah" sound.

Re: Array-programming the Mandelbrot set

#19
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…

> 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...).

Re: Array-programming the Mandelbrot set

#20

I see "R" being used multiple times in the expression seems like it wasn't array-combinator codegolfed enough

I know that you are joking, but in fact I have further golfed it down to reduce the repetition : )

it's the only pattern I saw in array language videos - you guys keep golfing until everything is used only once, even though combinators become impossible to untangle
Post reply on HN