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.