A Taste of Haskell - part1 July 23, 2007
Why Stack Overflow recommends it
Stack Overflow users link it as a beginner-friendly video introduction to Haskell and to point at specific moments when explaining types, functions and composition.
Recommended by 2 people across 2 different months, 2008 to 2015.
What it is
Part 1 of Simon Peyton Jones's OSCON 2007 tutorial introducing Haskell to experienced imperative programmers, using the xmonad window manager as a running example. It covers writing functional programs, testing with QuickCheck, and the basics of types and functions, moving at a brisk pace.
Cited in 1 Wikipedia article, including Xmonad.
What people said
Strong rec Tom Lokhorst · 2008-08 · Stack Overflow · on “Beginners Guide to Haskell?”
If you're like me, and like videos of presentations, than this is a good tutorial: A Taste of Haskell Part 1 [this video] Part 2 [LINK] Slides [LINK] It's a three-hour tutorial, that uses xmonad [LINK] as a running example to explain Haskell to experienced (imperative) programmers. The presentation is given by Simon Peyton-Jones who, besides being one of the top Haskell designers, is also a great speaker.
Recommends jhegedus · 2014-03 · Stack Overflow · on “Functional implementation (e.g. in Haskell) of GoF's Lexi Editor application”
I am trying to understand how one can use functional programming to implement applications which are usually implemented using an OO/imperative-approach. One important category of applications is editors (Word, Evernote, PowerPoint, Photoshop etc). Let's consider GoF's Lexi [LINK] Editor application as a representative and well-known example whose object-oriented/imperative solution has been described in great detail in the GoF book. How would one write the equivalent of GoF's Lexi application in Haskell ? Would that be possible at all ? How would the time/memory complexity compare in the OO/imperative vs. FP/immutable approaches ? What would the general architecture of that application (Lex
Recommends jhegedus · 2014-03 · Stack Overflow · on “What is the type of Nothing in Haskell?”
This [this video] talk at 26:00 answers the question: "what is the type of [ ] ?" which is a related question to "what is the type of Nothing ?". Also Hudak's book has a nice paragraph on this :
Cites jhegedus · 2014-04 · Stack Overflow · on “Taste of Haskell : definition of . (composition)”
In this [this video] talk at 52:40 this slide below is discussed. I don't quite understand this definition. Why is the x needed in the definition ? Why is the output not needed ? For example why is the definition not (f . g) x -> y = f (g x) -> y or something like that ? Is it easier to understand this definition if I look at it as a rewriting rule ? Whenever the expression evaluator encounters a pattern like on the left side it should rewrite it to the right side? Is the rewriting rule interpretation the only correct way to understand this definition ? (This interpretation is the only way that this definition makes sense to me but I am not even sure if this is the correct way to interpret this d
Cites D.Naesuko · 2015-08 · Stack Overflow · on “Haskell: arrow precedence with function arguments”
I'm a relatively experienced Haskell programmer with a few hours of experience, so the answer might be obvious. After watching A taste of Haskell, I got lost when Simon explained how the append (++) function really works with its arguments. So, here's the part where he talks about this [this video] . First, he says that (++) :: [a] -> [a] -> [a] can be understood as a function which gets two lists as arguments, and returns a list after the last arrow). However, he adds that actually , something like this happens: (++) :: [a] -> ([a] -> [a]) , the function takes only one argument and returns a function. I'm not sure to understand how the returned function closure gets the first list as it expects