- What is Haskell?
- The primary properties of Haskell vs. Language X
- Learn the very basics of Haskell
| Imperative Language X | Haskell |
|---|---|
| Imperative | Declarative, imperative emulation |
| Abstraction over CPU (↑) | Mathematics and computer science (↓) |
| Nearly everything is mutable | No side effects or I/O by default |
| Strict evaluation | Non-strict evaluation |
| C++, Java, Objective-C, etc. | Haskell |
| Objects are first-class citizens | Functions are first-class citizens |
| Weak, static typing | Strong, static typing |
| Compiled | Compiled or interpreted (interactive) |
| Ruby, Python, JavaScript, etc. | Haskell |
| Dynamically typed | Strong, static typing |
| Duck typing | Polymorphic typing |
| Interpreted | Compiled or interpreted |
| Relatively slow | Performs close to code written in C |
- Hello World
- A slightly more complicated Hello World
- No `NULL` or `nil`, we have `Maybe`!
- Open time for question and answers