I was starting to get frustrated about the number of parens that were needed on functions (and people complain about LISP) and then I discovered the wonderful point operator (literally .) that allows you to create a partial function chain.
I think having the backtick notation for prefixing an argument seems nuts, commit to prefix notation FTW
If you've done Python list comprehensions then you can take to Haskell's equivalent like a duck to water.
Interestingly just like Python they are also easier to use than combining lambda expressions with things like map and filter.
Okay so you define an function in the interactive session by using let. That had baffled me for a little while.
TIL that Haskell uses significant whitespace. I remain convinced that it is a pretty good strategy for block demarcation.
I really prefer the let ... in format to the ... where format
I scored badly at the first week's assignment on EDX, but at least it validated that I didn't understand the language of questions even with multiple choice.
Despite the name of the course the first three sessions are really about learning the syntax of Haskell.
Haskell symbols
:: Type definition (to the right)
: Sequence concatenation
!! Access by array index
I'm currently using a weird mix of Programming in Haskell and Learn you a Haskell for great good to get some programming exercises.
PiH is far too academic and isn't focussed on learning while LYAH is far to step-by-step to just jump between sections but introduces the syntax of the language in a far better way.