Live data from Hacker News

God writes Haskell

hookrace.net

51–60 of 128 posts

Re: God writes Haskell

#51
post #15

> Haskell beginners often use lists instead of arrays. You can’t do random access in a linked list, but only access the first element and then the rest of the list. The real world also doesn’t allow you random access, you are limited by the speed of light and have to go from one location to the next. You don't need arrays for random access though. Haskell trees give you access to 2^n leaves within depth n, which also…

This for sure doesn't violate speed of light. I can also access >>>>>2^n locations within n time in the real world.

Re: God writes Haskell

#54
post #19

Earlier quoted context omitted.

Which makes much more sense. The first prototype was in Lisp, but at the end of the day, when you gotta deliver a universe and don't have time to faff about with a borked Emacs, you open vim and fix it in prod with a quick Perl script. -- Haskell is for humans who want to play God, carving everything from a perfect and seamless void, ignoring as much as possible the discrete, chaotic nature of matter and entropy. A r…

> when you gotta deliver a universe and don't have time to faff about with a borked Emacs, you open vim and fix it in prod with a quick Perl script How can you make an onion if there's no state? Where will the state of the onion reside?

Below all the turtles, if course.

https://en.m.wikipedia.org/wiki/Turtles_all_the_way_down

Re: God writes Haskell

#55
post #46
post #15

> Haskell beginners often use lists instead of arrays. You can’t do random access in a linked list, but only access the first element and then the rest of the list. The real world also doesn’t allow you random access, you are limited by the speed of light and have to go from one location to the next. You don't need arrays for random access though. Haskell trees give you access to 2^n leaves within depth n, which also…

What does it have to do with the speed of light?

[deleted]

Re: God writes Haskell

#56

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

>Already Algol 60 had "call-by-name", which could be used to do lazy evaluation.

https://en.m.wikiquote.org/wiki/Niklaus_Wirth

See section: Quotes about Niklaus Wirth

" Whereas Europeans generally pronounce his name the right way ('Nick-louse Veert'), Americans invariably mangle it into 'Nickel's Worth.' This is to say that Europeans call him by name, but Americans call him by value. "

Re: God writes Haskell

#57
post #23

Earlier quoted context omitted.

I mean ... state monad?

Right? Even if you wanted to be pedantic and say the state monad is only 'simulated' state, you've still got ST, IO, and the glorious, glorious STM. Not to mention the purity and type-system that lets these things flourish, while other language designers try to implement STM and give up on it.

We can keep going. I keep my state in postgres when I'm using Haskell, and I keep my state in mysql when I'm using PHP. It really is a very strange argument.

Re: God writes Haskell

#58
post #15

> Haskell beginners often use lists instead of arrays. You can’t do random access in a linked list, but only access the first element and then the rest of the list. The real world also doesn’t allow you random access, you are limited by the speed of light and have to go from one location to the next. You don't need arrays for random access though. Haskell trees give you access to 2^n leaves within depth n, which also…

This for sure doesn't violate speed of light. I can also access >>>>>2^n locations within n time in the real world.

In 3-dimensional space you can only access O(n^3) locations in n steps (where a step corresponds to the distance between adjacent locations).

Re: God writes Haskell

#59
post #58

Earlier quoted context omitted.

This for sure doesn't violate speed of light. I can also access >>>>>2^n locations within n time in the real world.

In 3-dimensional space you can only access O(n^3) locations in n steps (where a step corresponds to the distance between adjacent locations).

You can access infinite locations. Nothing stops you from moving diagonally in an arbitrary angle, move forward and then backwards. I'd hoped my extravagant uses of > made that clear. Reality is practically continuous not discrete.

Re: God writes Haskell

#60

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.

The key is to not write large Haskell programs. Write many Haskell libraries and compose them. This scales infinitely and is an excellent way to build software. But it's also hard to do and takes good & deliberate technical leadership if you want to get 50+ engineers doing it.
Post reply on HN