remix logo

Hacker Remix

Stages of Denial (2020)

31 points by pabs3 4 days ago | 7 comments

phoe-krk 13 hours ago

kstrauser 10 hours ago

Step 1: Huh, I wonder what some of those implementations look like?

Step 2: https://codeberg.org/ngn/k/src/branch/master/a.c

Step 3: Uh, I think I'm urgently needed elsewhere.

JadeNB 10 hours ago

Isn't the loop

    let max = list[0];
    for (let i = 0; i < list.length; i++) {
     max = Math.max(list[i], max);
    }
at the end just implementing the variadic `Math.max()` of JavaScript by pretending that it's binary? (I bring up JavaScript because the text seems to indicate that's the language in which the snippets are written: "You suggest an alternative, wincing slightly at the lambda notation you need to avoid running afoul of JavaScript’s variadic Math.max(): ….")

msla 12 hours ago

My only "denial" when encountering high-church array languages is to deny them the precious brain space required to memorize their line noise syntax in order to be able to read them without a high ratio of comments to code.

They're (poorly) aping mathematical notation without the properties that give actual notations their power to augment thought using symbolic manipulation, but the people writing code in such languages don't see the need to write like mathematicians; to wit, they don't write mostly in English and save their code snippets for apposite moments when they would illuminate as opposed to obscure. Haskell programmers at least have the taste to use names in their code.

082349872349872 8 hours ago

> don't see the need to write like mathematicians

Counterexample: https://dl.acm.org/doi/pdf/10.1145/1283920.1283935 (the 1979 Turing Award Lecture)

Counterexample: https://dfns.dyalog.com/max_impln.htm

mhuffman 6 hours ago

>They're (poorly) aping mathematical notation without the properties that give actual notations their power to augment thought using symbolic manipulation

Yeah, I'm not sure I agree with that. Both of these are some of the most eye-popping books I have ever read related to math and computing [0] [1] (note, both pdf files) Both are well-written (by the guy that created both APL and J) in extremely approachable language and the introduction of J into the mix is almost obvious compared to doing some of the common operations in any other non-array language. These two documents and Joe Armstrong's PhD thesis were ones that really made me "think different" about programming.

[0]https://www.jsoftware.com/books/pdf/arithmetic.pdf

[1]https://www.jsoftware.com/books/pdf/calculus.pdf

mikrl 10 hours ago

Most programming languages exist just because devs would rather write 1000 lines of spaghetti than see 7 ‘)’s at the end of a 100 line lisp program.

/s

joelignaatius 11 hours ago

[dead]