let a = 1 : a -- guarded recursion, (:) is lazy and can be pattern matched.
let (v : _) = a
@ -177,6 +181,8 @@ let a = 1 * a -- not guarded, (*) is strict
```
http://www.vex.net/~trebla/haskell/lazy.xhtml
## Parallelism/Concurrency
- http://chimera.labs.oreilly.com/books/1230000000929 This book by Simon Marlow is probably the best I've ever read on the topics of Parallelism and Concurrency: