## Why Applied Haskell
* Quick introduction to why you're here, and why I do this :)
* Ties in with [Applied Haskell 101](https://tech.fpcomplete.com/haskell/tutorial/applied-haskell-101)
* __NOTE__ WIP slides, don't throw things at me!
<div style="text-align:center">
<div><img src="/static/fpcomplete-logo.png" style="border:0;margin:0"></div>
</div>
1. Install Stack! https://tech.fpcomplete.com/haskell/get-started
2. Run `stack upgrade`
3. Run `stack build rio --resolver lts-14.10`
---
## Haskell is revolutionary
* Totally different than other languages
* Lots of new concepts to absorb
* 15 exciting ways to solve problems
* Powers you never had elsewhere
---
## Haskell is powerful
* Our goal: write normal, boring programs in Haskell
* Get benefits of:
* Stronger types
* Better performance
* Better productivity
* Refactorable code
* Team scaling
---
## Haskell is a problem
* How do I do all of that?
* Most new Haskellers/Haskell teams reinvent the wheel
* Lots of paths seem alluring and stab you in the back
* General wisdom in Haskell discussion boards is dangerous
---
## Haskell is boring
* We're going to write boring Haskell
* Take the best revolutionary stuff
* Combine with practices and libraries that are boring
* Big value from today: identifying where to be boring, where to be exciting
---
## Haskell is mundane
* Rest of the world is borrowing from Haskell
* Some of Haskell's craziest things are commonplace
* Anecdate: JS devs, Rust, and monads
* It's becoming ever easier to onboard people to Haskell
* Haskell's types make onboarding to codebases easier
* But you have to make your code approachable!
---
## But I need this cool feature!
* You probably don't
* Most of us have been there
* Far too easy to have fun and go off the deep end
* Strong recommendation: try solving the easy way first