Live data from Hacker News

Roger Hui has died

jsoftware.com

41–48 of 48 posts

Re: Roger Hui has died

#41
post #40

Earlier quoted context omitted.

Ah so the explanation is pretty much just “magic”.

It's no more magical than anything else. It just turns out that j has an operator that does exactly what you want. Having such operators and functions is far from an uncommon experience in j.

My problem with this is not “J has an operator that does exactly what you want” it’s “J has operators which do entirely different things depending on the arity”, you can’t intuit the behaviour of the binary / from the unary, they are for all intents and purposes unrelated.

As a result, the original mathexchange answer introducing / by explaining its unary behaviour (despite that being used nowhere in the answer) is solely a source of confusion.

Re: Roger Hui has died

#42
post #40

Earlier quoted context omitted.

It's no more magical than anything else. It just turns out that j has an operator that does exactly what you want. Having such operators and functions is far from an uncommon experience in j.

My problem with this is not “J has an operator that does exactly what you want” it’s “J has operators which do entirely different things depending on the arity”, you can’t intuit the behaviour of the binary / from the unary, they are for all intents and purposes unrelated. As a result, the original mathexchange answer introducing / by explaining its unary behaviour (despite that being used nowhere in the answer) is s…

The original description is misleading, yes.

The distinguishing between arities is a consistent feature of all of these languages. I find fluency comes quickly to it.

Edit: as for intuition between the two, this is sometimes not obvious, but I think it's a sensible generalisation from the monadic case to the dyadic. How else would you want to extend a fold to two arguments?

Re: Roger Hui has died

#43
RIP

Is this the reason for the black stripe on HN? Is there a way to click the stripe or otherwise see the reason for it, other than scanning posts for the sad news?

Re: Roger Hui has died

#44
post #3

Rest in peace. Roger Hui deserves a black bar just about as much as anyone. A (likely incomplete) list of his talks can be found here; if you have the time, you should watch at least some of them: https://aplwiki.com/wiki/Roger_Hui He dedicated a substantial portion of his life to the design and implementation of two of the last truly-unique languages in our field. We all owe him a degree of debt. If you use numpy, f…

> of two of the last truly-unique languages in our field.

What is the other one?

Re: Roger Hui has died

#45
post #5

For those of you that are not familiar with Roger Hui, he is the author of "An Implementation of J"[0]. Which is a fantastic resource if you want to know how to implement an array programming language. [0]: https://www.jsoftware.com/books/pdf/aioj.pdf

this is super cool; I wonder if some of the concepts can be applied in building Codex pipeline

just found https://crypto.stanford.edu/~blynn/haskell/jfh.html to cross-ref stuff when I get lost

Re: Roger Hui has died

#46
post #42

Earlier quoted context omitted.

My problem with this is not “J has an operator that does exactly what you want” it’s “J has operators which do entirely different things depending on the arity”, you can’t intuit the behaviour of the binary / from the unary, they are for all intents and purposes unrelated. As a result, the original mathexchange answer introducing / by explaining its unary behaviour (despite that being used nowhere in the answer) is s…

The original description is misleading, yes. The distinguishing between arities is a consistent feature of all of these languages. I find fluency comes quickly to it. Edit: as for intuition between the two, this is sometimes not obvious, but I think it's a sensible generalisation from the monadic case to the dyadic. How else would you want to extend a fold to two arguments?

> How else would you want to extend a fold to two arguments?

I don't know that there is one that's useful, but a cartesian product seems like the opposite: a fold is a dimensional reduction (from 1 to 0 at the most basic), a cartesian product is dimensionally preserving (you start with 1 and 1, you end up with 2).

A cartesian product (with a mapping function) might be interpreted as the extension of a map, I don't rightly see how it can be interpreted as the extension of a fold, except in the sense that you can implement essentially any iterative process using folds, but that leads to you every n-dimensional transformation being a possible extension of a fold.

So my answer would mostly be "you would not". You could also define an n-dimensional fold as a fold against a caller-specified dimension, but I don't know how useful that would be (though I guess this sort of folds is used when integrating over time in e.g. reactive interfaces).

Re: Roger Hui has died

#48
This is sad news indeed. A couple of things about Roger:

The less important one: his Erdős number is 2, thanks to his coauthoring "A generalization of the fast LUP matrix decomposition algorithm and applications" with Shlomo Moran whose Erdős number is 1. (It's not shown on his Wikipedia page, but he's listed at https://en.wikipedia.org/wiki/List_of_people_by_Erd%C5%91s_n... .)

Roger was a great example of "precision with humanity", like Ken Iverson. This was obvious in many ways, and here's an unusual one: I've managed various technical groups over the decades, and Roger was the only person who, when he said he'd have something done by a particular date, was finished by that date, every single time. When he ran into a snag I would sometimes tell him that it would be okay if it took longer, but no, as far as he was concerned he'd made a commitment and was going to meet it, even if that meant working a lot of extra hours.

Rohan Jayasekera

Post reply on HN