Live data from Hacker News

I tried Haskell for 5 years

metarabbit.wordpress.com

121–130 of 273 posts

Re: I tried Haskell for 5 years

#121
> The easy is hard, the hard is easy

Probably the best single line description of Haskell.

The learning curve helps with the former (easy) part, the latter (hard) part contains some really brilliant ideas where you start to wonder why so many people still use other languages for everything, then you remember how hard the easy stuff can be...

Re: I tried Haskell for 5 years

#122
post #61

Earlier quoted context omitted.

Out of curiosity, what method/resource did you use to try to learn it?

I've tried "Learn You A Haskell for Great Good" and "Real World Haskell".

That was my guess, but I didn't want to be presumptuous. I tried with them and as well it didn't really stick. In my opinion "Learn You A Haskell" is a great supplememental reference, but a terrible teaching tool. And I think It's done more disservice to enforcing the reputation of Haskell being difficult to learn.

I highly recommend the lecture notes online from the "Upenn Spring 2013 Haskell" class. Search that phrase and it should be the first hit (am on mobile).

Go through the lecture notes, and do all the exercises in the homework. (Link in purple at the top). It's a night and day difference from LYAH.

And you get to build some nifty real world style projects along the way.

Good luck!

Re: I tried Haskell for 5 years

#123
post #93
post #41

Haskell: where difficult problems are trivial, and where trivial problems are the subject of ongoing academic research

C'mon. Funny joke, but not fair when taken serious. Or what "trivial problems are the subject of ongoing academic research" in Haskell?

When you consider "trivial" to mean "only if you ignore all kinds of edge cases that most languages implicitly ignore" ... then Haskell has plenty of paper-worthy trivial problems.

Re: I tried Haskell for 5 years

#124

Earlier quoted context omitted.

So you understand I was commenting that your post didn't really say much about Haskell (learning curve, libraries, tooling ). What you commented or implied is a bit of current Haskell culture. > I actually like C++ a lot. Haskell is an example of academic carefully crafted language, while C++ is rather a practically driven continuous patchwork (and they are extremities to both ends). I simply find your comparisons od…

> Haskell is an example of academic carefully crafted language, while C++ is rather a practically driven continuous patchwork (and they are extremities to both ends). Haskell is also a continuous patchwork, just look at the number of deprecated GHC extensions.

... which is the opposite of its pure vision, which is why I can't help think it is a negative.

Re: I tried Haskell for 5 years

#125
post #32
post #8

If anyone's curious to try out functional programming, I would highly recommend Elm. I haven't been so excited about a language since I went from C to Ruby ten years ago, and Pragmatic Studios has a great course on it (I have no affiliation): https://pragmaticstudio.com/courses/elm

And Elm is implemented in Haskell ;] I've been meaning to try Elm since I've been playing around with Haskell more and more. Purescript is relatively similar but allows you to build more than frontends. It seems Elm has grown quite a lot in popularity though.

PureScript has great potential. I'm very excited for what it offers the future of Javascript and even Haskell. It's on a whole other level than Elm.

The only problem from my experience trying to use it in a project is that since it's alpha software a) it's changing so fast that APIs/libraries are very unstable to the point they are almost unusable if you try to follow newish releases (this was 6-8 months ago, I hope/expect stability has improved) and b) you have to be intimately familiar with Haskell.

As the OP's article describes about Haskell with PureScript the documentation situation is even worse, the documentation is 90% "hard" and 10% "soft". Which is fine if you know Haskell, or even a bit of Elm, but it's very tough coming in as a newbie of both Haskell and PS.

Re: I tried Haskell for 5 years

#126
post #8

If anyone's curious to try out functional programming, I would highly recommend Elm. I haven't been so excited about a language since I went from C to Ruby ten years ago, and Pragmatic Studios has a great course on it (I have no affiliation): https://pragmaticstudio.com/courses/elm

I think a lot of Haskeller's will find Elm's type system to be limited and frustrating. Even for simple things the solution in Elm is that you have to write a bunch of boilerplate.

Re: I tried Haskell for 5 years

#127
post #107

Earlier quoted context omitted.

Serious question. In the following code, what would be better function / type names? (or you can pick another bit of Haskell code that you know and/or have particular trouble understanding). class Foldable t where foldl :: (b -> a -> b) -> b -> t a -> b

Maybe something like: class Foldable myFoldable where foldl :: (summary -> element -> summary) -> summary -> myFoldable element -> summary This is the translation I do in my head when I read that type signature, at least.

Really? I find the single-letter version far easier to read.

Re: I tried Haskell for 5 years

#128
post #52
post #16

Question to the Haskell experts here. Is Haskell more academic in nature or used heavily in Production environments? Is there an application sweet spot/domain (say Artificial Intelligence/Machine Learning, etc) where it shines over using other languages (I am not talking about software/language architectural issues like type systems or such)? I have no experience with Haskell but do use functional languages such as E…

> Is there an application sweet spot/domain State of the Haskell ecosystem: https://github.com/Gabriel439/post-rfc/blob/master/sotu.md The topics are roughly sorted from greatest strengths to greatest weaknesses. Each programming area will also be summarized by a single rating of either: Best in class: the best experience in any language Mature: suitable for most programmers Immature: only acceptable for early-adopte…

This is a fantastic link & I love the discretely sorted topics with ratings (could be more granular but its a start). Is there a similar link for other PLs notably more pedestrian langs like Java/Python/C ?

Re: I tried Haskell for 5 years

#129
post #11

Earlier quoted context omitted.

While this title follows a particular style it actually tells you what the article will be about (5 years of Haskell). What bothers you about it?

It's clickbaity because you have to click to find out if their opinion is highly positive or negative. It sounds like it's going to be answered by "... terrible" or "... great!", and that it's phrased that way to make you click and find out. Granted, once you click you find out that's not why it's titled that, but you still feel baited into clicking to find out. A better title would be something like "I tried Haskell…

It's hardly clickbait. Clickbait would be a purposely inflammatory or exaggerated title to get you to click the link. This is the complete opposite of that.

> It's clickbaity because you have to click to find out if their opinion is highly positive or negative.

I think you just stated the purpose of a title. Wiki says clickbait is:

> "... relying on sensationalist headlines or eye-catching thumbnail pictures "

There's nothing sensationalist about. "I tried Haskell for 5 years". It's rather banal.

Re: I tried Haskell for 5 years

#130
post #107

Earlier quoted context omitted.

Serious question. In the following code, what would be better function / type names? (or you can pick another bit of Haskell code that you know and/or have particular trouble understanding). class Foldable t where foldl :: (b -> a -> b) -> b -> t a -> b

Maybe something like: class Foldable myFoldable where foldl :: (summary -> element -> summary) -> summary -> myFoldable element -> summary This is the translation I do in my head when I read that type signature, at least.

I wonder if anyone has worked on a Prelude replacement which has these replacements (along with renaming functions where appropriate)...
Post reply on HN