-
Notifications
You must be signed in to change notification settings - Fork 1
Haskell
carnot edited this page Jun 3, 2011
·
2 revisions
- Ready, set, go!
- Baby's first functions
- An intro to lists
- Texas ranges
- I'm a list comprehension
- Tuples
- Curried functions
- Some higher-orderism is in order
- Maps and filters
- Lambdas
- Only folds and horses
- Function application with $
- Function composition
- Algebraic data types intro
- Record syntax
- Type parameters
- Derived instances
- Type synonyms
- Recursive data structures
- Typeclasses 102
- A yes-no typeclass
- The Functor typeclass
- Kinds and some type-foo
- Getting our feet wet with Maybe
- The Monad type class
- Walk the line
- do notation
- The list monad
- Monad laws
- Writer? I hardly know her!
- Reader? Ugh, not this joke again.
- Tasteful stateful computations
- Error error on the wall
- Some useful monadic functions
- Making monads
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License because I couldn't find a license with an even longer name.
@Haskell

Notes
- In purely functional programming you don't tell the computer what to do as such but rather you tell it what stuff is[unlike ctrl flowes of imperative cpp types]
- build more complex functions by gluing simple functions together.
Say you have an immutable list of numbers xs = [1,2,3,4,5,6,7,8] and a function doubleMe which multiplies every element by 2 and then returns a new list. If we wanted to multiply our list by 8 in an imperative language and did doubleMe(doubleMe(doubleMe(xs))),
- Haskell is statically typed. When you compile your program, the compiler knows which piece of code is a number, which is a string and so on.