Hacker News new | comments | show | ask | jobs | submit login

"The next Haskell will be strict

-Simon Peyton Jones"

True, he does say that but the slides you reference show a more nuanced position than implied by that isolated quote.

Insisting on laziness forced the Haskell designers not to add side effects, eventually resulting in monads (slides 22 and 23), which ended up with Haskell programs having a "thin imperative shell over a fat pure core" internal structure. (slide 32).

SPJ then concludes that (1)purity is more important than laziness, (2)the next ML will be pure with effectful programming only via monads and (3) the next Haskell will be strict, but still pure (slides 39 , 40). (the differences between "the next ML" and the "next Haskell" are worth pondering)

It is through insisting on laziness as default and solving some of the problems encountered (via monads for e.g) that he arrived at the position that "the next Haskell will be strict". He also notes some open problems with adding laziness into a statically typed strict language (slide 40 "Still unclear exactly how to add laziness to a strict language. For example, do we want a type distinction between (say) a lazy Int and a strict Int?").

So yes, you are right that "The latest research fads in CS aren't always beneficial." but in this case it seems to have been (beneficial).

As someone maintaining a 20 k+ line Haskell codebase on my "day job" ("20,000 lines of Haskell is enough to bootstrap SkyNet" - OH on Twitter), I would appreciate a "strict-by-default-Haskell" (with an ML like module system too, while you are at it, thanks in advance!), but really Haskell is certainly more "beneficial" than any other language I've seen to date for certain types of programs .

Not contradicting your position,just qualifying it a bit.




Haskell is certainly more "beneficial" than any other language I've seen to date for certain types of programs

Could you unpack that? I'd love to hear what types of programs Haskell phenomenal at, in comparison to others.


This (http://news.ycombinator.com/item?id=1909331) is what I am doing - a "type of program" suited to Haskell, very algorithmic, lots of data munging, distribution, parts with proofs of correctness, compiler like pieces and so on.Can't be more specific in public - sorry about that .

As for Haskell the language vs others in general, I personally like the combination of high abstraction, static typing and raw speed. Besides (like lisp?) it seems to be a productivity amplifier for very small teams of very sharp people, which is my situation.


No worries, thanks.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: