This is very beautiful. TIL about Y combinators. Thanks for sharing. I looked it up with ChatGPT to learn more about what it is and then compared it with versions from different languages.
JavaScript:
const Y = f => (x => f(v => x(x)(v)))
(x => f(v => x(x)(v)));
let z f =
let fn = ref (fun x -> x) in
fn := (fun x -> f (!fn x));
!fn;;
I think I still like the Ruby the most since it's easier to grok due to the Lisp having so many parens towards the end. The Haskell is beautiful to look at too.
Funnily enough you can't actually implement the proper y-combinator in Haskell because the type system won't allow it. Which is a real shame because in most Lisps you can only implement the applicative order y-combinator due to a lack of lazy evaluation.
I've been on here for a decade. Back in the day, HN really gave off a sense that most users were aspiring entrepreneurs, with a lot more discussion about YC, et al.
It's a rounding error in some of the budgets that startups deal with. It becomes closer to the situation with the Long Now, which is a clock to last 10,000 years. With LLMs, even the moderation becomes an fixture in the project that can endure. With Solar and a GPU and some Internet.
It sounds like a trivial problem to solve with LLMs. To test it, feed a few comments to ChatGPT together with a T&C summary, and ask if the comment violates the terms.
It actually does a better job than the stock "this comment does not go against our community standards" response you get from the human moderators of any social network.
I landed first on some random PG essay, then I found out about HN and kept reading it for a while and then found out what YC was. This was some years ago, but still quite out of order!