Frequently Asked Questions
Who can attend office hours?
Join us, we welcome all levels.
What happens during office hours?
Most folks bring their computers to work on their haskell code. Sometimes there are discussions and/or questions. Others who are more experienced may explain haskell concepts. Overall we are hanging out.
Where/how should I learn haskell?
There are a number of formats and resources available. A complete resource is available - @bitemyapp's learn haskell. He recommends you start with Brent Yorgey's online course first, if you're coming from another language. Otherwise start with the first few chapters of LYAH.
- Books: Learn You a Haskell (LYAH)1, Real World Haskell (RWH)2, Programming in Haskell3, and more
- Videos: Haskell Lectures by Dr. Erik Meijer
- Classes: edX - Intro to Functional Programming, CIS 194 by Brent Yorgey
- Tutorials: Haskell Wiki's list, @katychuang's short list
- LYAH is great for those with zero to little experience with coding.
- RWH provides useful material for those who use Haskell in production. The examples are not up to date since it was published years ago.
- Programming in Haskell was used in the Haskell for Cats series.
GHC Compiler Installation Tips
You can either install the "all-in-one" Haskell Platform as the quick and dirty way to get a taste of ghci OR spend a bit more time up front to avoid package conflicts.
For clean (manual) installation of ghc and cabal - @bitemyapp wrote instructions on how to get started
Of course, for those who'd like the purest install, you can install from source. The instructions below:
Linux - Download the latest copies of GHC and Cabal. Follow instructions in the INSTALL file. The popular paths among those installing to source are ghc to
~/.ghc/bin and cabal to
~/.cabal/bin. Make sure your PATH environment variable can find these two paths.
OSX - similar to instructions for linux.
*Windows - you're in a class on your own. Your best bet is to install the haskell platform for the necessary c bindings. However if you're feeling particularly patient - feel free to replicate the low level environment described on this stackoverflow thread