Live data from Hacker News

An opinionated guide to Haskell

lexi-lambda.github.io

81–90 of 96 posts

Re: An opinionated guide to Haskell

#81
post #21
post #8

Earlier quoted context omitted.

If you’re in it for the two-week thing rather than the long term, “learn you a Haskell for great good” is a good choice. Not terribly informative if your goal is writing large applications, but pretty good introduction to the mindset that goes with writing haskell

To elaborate on LYAH, I think it's a pretty bad resource for actually learning Haskell. It's very "here's a feature, now copy it". Which works fine for learning syntax, but works poorly for learning Haskell. Check here for a review that really resonated with my experiences about LYAH: http://bitemyapp.com/posts/2014-12-31-functional-education.h... Note the author of that post is also the author behind the Haskell boo…

I'd have to agree with you. Having read the entirety of LYAH as an introduction to Haskell and functional programming, I felt introduced to a-lot of functional concepts and Haskell syntax. That's unfortunately it. With the absence of practice problems, nothing really stuck, and I'm nowhere near prepared to create a project myself.

Overall, it's not a waste of time, but I'm sure there are more stimulating Haskell books out there that'll better lead you to think in a functional way.

Re: An opinionated guide to Haskell

#82
post #46
post #29

Earlier quoted context omitted.

What operating system are you running on? I paid for and downloaded Haskell For Mac[1] and it's been a great dev experience so far. The IDE is similar to Xcode (I'm an iOS developer) and the REPL is great for trying stuff out. [1] - http://haskellformac.com

What sort of apps can you build with Haskell For Mac? The website gives me the impression it’s more akin to Swift Playgrounds than IntelliJ.

You have access to all of Haskell. I built a command line utility that downloads GitHub status from different cryptocurrency repos and ranks how productive each tokens development team is. It's similar CryptoMiso[1] but I have my own formula for figuring out what's valuable.

From the tutorials they give, you can build all types of stuff. It looks like the IDE supports game development as well as some data analytics tools. In Haskell for Mac, the right side is like Swift Playgrounds (REPL) and the left side is like IntelliJ (IDE). It's actually kinda weird but that's how it's setup.

[1] - https://cryptomiso.com

Re: An opinionated guide to Haskell

#83
post #80

Earlier quoted context omitted.

This analogy (as any analogy) is wrong. A slightly better one would be "an expensive camera doesn't automatically make you a great photographer". There's a long running tradition of languages with static typing and better type systems making fun of dynamically typed languages and those with "worse" type systems. A good example is[1]: """ It's 2018 - static type systems are not optional... It is especially worrying th…

Any weaknesses with the Haskell "time" library have nothing to do with static types in particular nor the language in general. To stretch your analogy further "Having an expensive camera does not prohibit you from also taking photography lessons".

> Any weaknesses with the Haskell "time" library have nothing to do with static types in particular nor the language in general.

Hence, my original point: This goes to show that no amount of static typing can save you from implementing badly-designed software.

Re: An opinionated guide to Haskell

#84
post #31

How good is the static analysis tooling (IDE / editor plugins) for Haskell? Given Haskell's powerful type system, I imagine that it must be possible to see warnings, hints, autocompletion and other early feedback about the code in the editor before compilation, like in Java, Kotlin etc. or even better - is that the case?

I use emacs + intern and it’s great. Type errors are underlined immediately, warnings and lint messages are marked. Half the time I let the compiler write the code by using ghc placeholders and playing type golf

Re: An opinionated guide to Haskell

#85
post #80

Earlier quoted context omitted.

Any weaknesses with the Haskell "time" library have nothing to do with static types in particular nor the language in general. To stretch your analogy further "Having an expensive camera does not prohibit you from also taking photography lessons".

> Any weaknesses with the Haskell "time" library have nothing to do with static types in particular nor the language in general. Hence, my original point: This goes to show that no amount of static typing can save you from implementing badly-designed software.

If your point was literally "no amount of static typing can save you from implementing badly-designed software" then yes, that's correct and beyond challenge. I perceived a hint of "and therefore we may as well just use dynamic types" or "but proponents of static types are too ideological to accept this" in your subtext. I apologise if I was mistaken in my perception.

Re: An opinionated guide to Haskell

#86
post #32

A lot of people use Atom, but I think emacs + intero is currently the best Haskell tooling. I use it with spacemacs. Has everything I would need from an IDE, including highlighting errors on the fly, auto completion, jump to definition, auto formatting. It’s no intellij, but I’ll take Haskell’s type safety over that any day of the week, and twice on Sunday. http://commercialhaskell.github.io/intero/

There's a while that I can't find intero in melpa.org anymore. Do you know if it moved?

Perhaps you need to update your package index?

Re: An opinionated guide to Haskell

#87
post #2

Learning Haskell is one of those two weeks things that’s been on my interests list for a long time, but will likely stay there for awhile yet. Though, if anyone has got any high-quality quick resources handy that’d be appreciated!

http://haskellbook.com/ is a great modern deep dive catered to folks like you! It is long, but guides you along the way

Need to reply after one day, but I read the sample, figured out an environment for Haskell using Spacemacs and bought the whole book. Because of your link, I decided to be proficient with Haskell in 2018. 2016 was the year of Clojure, 2017 Rust and now Haskell.

Thank you in advance!

Re: An opinionated guide to Haskell

#88
post #21

Earlier quoted context omitted.

To elaborate on LYAH, I think it's a pretty bad resource for actually learning Haskell. It's very "here's a feature, now copy it". Which works fine for learning syntax, but works poorly for learning Haskell. Check here for a review that really resonated with my experiences about LYAH: http://bitemyapp.com/posts/2014-12-31-functional-education.h... Note the author of that post is also the author behind the Haskell boo…

I have to disagree about LYAH here. Allen can argue that LYAH is incomplete, and he seems to think the university courses he mentions are the best way to learn Haskell. But not all developers want to go down that route, at least not as a first step. For me, LYAH was an important stepping stone to getting productive, while at the same time fully understanding that it was not the final word on anything. This is, I susp…

Almost all of the people that I've met that read LYAH (including myself) could hardly even write trivial projects in haskell upon finishing it. this is in my book (heh) a failure and why i recommend people to avoid LYAH. If you finish HPFFP you have everything you need to be productive and contribute to a production code base.

If you learned Haskell using LYAH and you could write non-trivial software in Haskell right after finishing it - I'm very happy for you. But know that you are in the minority from what i got to witness.

Re: An opinionated guide to Haskell

#89
post #88

Earlier quoted context omitted.

I have to disagree about LYAH here. Allen can argue that LYAH is incomplete, and he seems to think the university courses he mentions are the best way to learn Haskell. But not all developers want to go down that route, at least not as a first step. For me, LYAH was an important stepping stone to getting productive, while at the same time fully understanding that it was not the final word on anything. This is, I susp…

Almost all of the people that I've met that read LYAH (including myself) could hardly even write trivial projects in haskell upon finishing it. this is in my book (heh) a failure and why i recommend people to avoid LYAH. If you finish HPFFP you have everything you need to be productive and contribute to a production code base. If you learned Haskell using LYAH and you could write non-trivial software in Haskell right…

Yeah that's what my experiences have been too. It's one thing to feel like you understand Haskell after finishing LYAH; it's another to actually understand it.

Re: An opinionated guide to Haskell

#90
post #85

Earlier quoted context omitted.

> Any weaknesses with the Haskell "time" library have nothing to do with static types in particular nor the language in general. Hence, my original point: This goes to show that no amount of static typing can save you from implementing badly-designed software.

If your point was literally "no amount of static typing can save you from implementing badly-designed software" then yes, that's correct and beyond challenge. I perceived a hint of "and therefore we may as well just use dynamic types" or "but proponents of static types are too ideological to accept this" in your subtext. I apologise if I was mistaken in my perception.

I have to admit, there was a hint of such subtext :)
Post reply on HN