

Ask HN: have you had a bad experience trying to learn or use Haskell? - moldbug

Independent language researcher seeks sincere and thoughtful responses!  No trolls or haters pls.
======
nzmsv
One thing I noticed as a Haskell noob is that the terse syntax makes it
impossible to Google for solutions. Say I'm trying to understand a code
snippet. I have to know what the (insert random string of punctuation)
operator is called before I can proceed.

~~~
shachaf
That's what Hoogle (<http://www.haskell.org/hoogle/>) and Hayoo!
(<http://holumbus.fh-wedel.de/hayoo/hayoo.html>) are for.

------
1123581321
I wouldn't say a bad experience necessarily, but I ended up working from the
O'Reilly book and Learn You a Haskell alternatively, working from the front
and back of each book alternatively. That was because neither of them managed
to explain things to me in the order I wanted to hear about them, and as my
interest was in actually making something useful with Haskell I kept needing
to look at the useful (later) parts of the books to get any of that.

------
gtani
Very open ended question. The trickiest thing for me is the GHC "instance"
extensions: TypeSynonymInstances, -XUndecidableInstances, Flexible,
Overlapping, etc

\--------------

I think there's general agreement that cabal has limitations:

<http://www.yesodweb.com/blog/2012/04/replacing-cabal>

<http://www.yesodweb.com/blog/2012/04/cabal-meta>

[http://www.reddit.com/r/haskell/comments/qdjha/which_command...](http://www.reddit.com/r/haskell/comments/qdjha/which_commands_succeed_in_installing_a_haskell/)

[http://www.reddit.com/r/haskell/comments/r5h81/google_summer...](http://www.reddit.com/r/haskell/comments/r5h81/google_summer_of_code_2012_haskellorg_is/)

[http://www.reddit.com/r/haskell/comments/rurn4/cabalmeta_tra...](http://www.reddit.com/r/haskell/comments/rurn4/cabalmeta_transcending_to_dependency_heaven/)

\-----------------

Not clear if you're interested in pure language design or looking at the state
of standard library, editor/testing/deployment toolchains etc but as far as
language design debates go vs. the SML line, you could read Harper's

[http://existentialtype.wordpress.com/2011/04/24/the-real-
poi...](http://existentialtype.wordpress.com/2011/04/24/the-real-point-of-
laziness/)

[http://existentialtype.wordpress.com/2011/05/01/of-course-
ml...](http://existentialtype.wordpress.com/2011/05/01/of-course-ml-has-
monads/)

------
mohamedsa
To read code (or math) I find life easier when I can "read" it inside my head.
The terse and heavy symbolic syntax make understanding code less comfortable
for me.

The other thing is that currying + lack of parens around function arguments
makes it not visually clear where each argument goes or what expressions are
part of what. Only someone familiar with each function and it's arity (in some
Haskell-relevant sense) could read the stuff at a glance.

------
zoowar
There are lots of good resources at
<http://www.haskell.org/haskellwiki/Learning_Haskell>

~~~
gtani
There's _lots of wiki pages_. Among the links i liked the Wash Univ of St.
Louis breadcrumbs and these cheats. Also the Hutton, Thompson, "school of
expression" and "road to logic" books:

<http://blog.codeslower.com/static/CheatSheet.pdf>

<http://sites.google.com/site/haskell/notes>

<http://acm.wustl.edu/functional/hs-breads.php>

<http://www.cl.cam.ac.uk/~ns441/files/thips.pdf>

\---------------

<http://www.haskell.org/tutorial/>

<http://haskell.org/haskellwiki/Blow_your_mind>

<http://www.haskell.org/haskellwiki/Meta-tutorial>

<http://haskell.org/haskellwiki/Category:Tutorials>

<http://www.haskell.org/haskellwiki/Tutorials>

------
debacle
I found the Haskell operators to be particularly unenjoyable, and that's
coming from someone who started to program in Perl. I don't see any logical
purpose in such a large deviation from most languages even in basic things
like comment operators. It felt like I was writing code in a different
(spoken) language.

In short, Haskell's modernity didn't offer enough for me to consider it over
Clojure.

------
SamReidHughes
Haskell was dead simple to learn, really easy to use, and a lot of fun.

