Live data from Hacker News

God writes Haskell

hookrace.net

31–40 of 128 posts

Re: God writes Haskell

#31

I would like to add that just like in our universe, in Haskell entropy only ever increases and never goes down. I.E., add more functionality to your program and the complexity will go up. This is true for all programming languages of course, but in my limited experience larger Haskell programs seem to become exponentially more complex.

More instances. More.

Re: God writes Haskell

#32

Let's face facts here: God just fell asleep on the keyboard, and by a staggering coincidence, or perhaps a weird shape of the head, the first 4 letters he typed were P, E, R, L. He's still sleeping.

bless $thisComment;

This takes me back. And not in a good way…

Re: God writes Haskell

#34

> Consider the wave-particle duality in quantum mechanics. Every particle behaves as a wave, as long as you haven’t interacted with it. Thanks to Haskell’s lazy evaluation values are also only evaluated once they are accessed (interacted with particles), and stay unevaluated thunks (waves) in the meantime. Lazy evaluation is a beautiful thing, and in many ways, it is the solution self-reference. Hofstadter in "I am a…

That's all fine and dandy until God's lowest bidding outsourcer writes a naive loop and evaluates everything rather that just what's needed. Next thing you know you've got bits of universe all over you.

Re: God writes Haskell

#35

>He seems to enjoy writing Haskell This article gives no evidence of this. None of the concepts that the article lists out are Haskell exclusive. Thunks and linked list can be made in C too.

In any programming language where functions are allowed as arguments to functions, and most languages that are still in use allow this, you can choose lazy evaluation for any function argument. Already Algol 60 had "call-by-name", which could be used to do lazy evaluation. The only difference in Haskell and similar languages is that lazy evaluation is the default mode of evaluation, and if you do not want this it is…

In Clojure, where lazy evaluation is also the default (although only for sequences), someone recently wrote an in-depth article about the issues caused by this choice: https://clojure-goes-fast.com/blog/clojures-deadly-sin/

I haven’t read the whole article yet, but maybe it could be interesting to compare it with Haskell and see if some of the same problems occur or if Haskells compiler or overall design around (pervasive) lazyness makes it easier to work with and more performant.

Re: God writes Haskell

#38

I would bet that He writes Lisp. Ultimately everything is the same. Particles. Above it: particles made of particles.

That's only used in the Old Testament.

Hell, Genesis was written in assembly for the 8008 in only 520 bits but it took a damn sandpile of support chips to bootstrap.

God uses Elixir with Rustler now because of concurrency and lazy evaluation gotchas of Haskell. (STM didn't cut it.)

Meanwhile, the devil imposes a standard of FORTRAN77 and COBOL62 with a spaghetti mess of uncommented code containing GOTOs, "god" functions, and meaningless identifiers.

Post reply on HN