Formatting

pull/5/head
Chris Allen 10 years ago
parent de29ce362d
commit 8051eabba1

@ -33,7 +33,7 @@ Download Haskell
Install the GHC for Mac OS X app, which includes GHC and Cabal. It provides instructions on how to add GHC and Cabal to your path after you've dropped the .app somewhere.
http://ghcformacosx.github.io/
- http://ghcformacosx.github.io/
### Windows and other Linux users
@ -43,19 +43,19 @@ Download the latest binary distributions for cabal and ghc:
GHC is the most popular way to work in the Haskell language. It includes a compiler, REPL (interpreter), package management, and other things besides.
http://www.haskell.org/ghc/
- http://www.haskell.org/ghc/
#### Cabal
Cabal does project management and dependency resolution. It's how you'll install projects, typically into their own sandbox.
https://www.haskell.org/cabal/download.html
- https://www.haskell.org/cabal/download.html
#### Detailed manual install guide for Mac OS X
You don't need this if you use the .app
You don't need this if you use the .app, but if it doesn't work for you, try this with the binary distribution.
Excellent guide here: http://www.davesquared.net/2014/05/platformless-haskell.html
- http://www.davesquared.net/2014/05/platformless-haskell.html
## Yorgey course - Do this first, this is the primary way I recommend being introduced to Haskell.
@ -65,33 +65,35 @@ http://www.seas.upenn.edu/~cis194/lectures.html Brent Yorgey's course is the bes
This is Bryan O'Sullivan's online course from the class he teaches at Stanford. If you don't know who he is, take a gander at half the libraries any Haskell application ends up needing and his name is on it. Of particular note if you've already done the Yorgey course are the modules on phantom types, information flow control, language extensions, concurrency, pipes, and lenses.
http://www.scs.stanford.edu/14sp-cs240h/
- http://www.scs.stanford.edu/14sp-cs240h/
## Development Environment
### Emacs
http://tim.dysinger.net/posts/2014-02-18-haskell-with-emacs.html
- http://tim.dysinger.net/posts/2014-02-18-haskell-with-emacs.html
### Vim
http://www.haskell.org/haskellwiki/Vim
- http://www.haskell.org/haskellwiki/Vim
http://www.stephendiehl.com/posts/vim_haskell.html
- http://www.stephendiehl.com/posts/vim_haskell.html
https://github.com/kazu-yamamoto/ghc-mod
- https://github.com/kazu-yamamoto/ghc-mod
https://github.com/eagletmt/ghcmod-vim
- https://github.com/eagletmt/ghcmod-vim
### Sublime Text
https://github.com/SublimeHaskell/SublimeHaskell
- https://github.com/SublimeHaskell/SublimeHaskell
## FAQ and working with Cabal
### Fantastic FAQ
- http://dev.stephendiehl.com/hask/ (this also covers some basics for Cabal)
In addition to being an amazing guide for all kinds of things such as GADTs, this also covers some useful basics for Cabal
- http://dev.stephendiehl.com/hask/
### Cabal guidelines
@ -117,7 +119,7 @@ I recommend RWH as a reference (thick book). The chapters for parsing and monads
## For learning some common typeclasses
Useful for understanding typeclasses in general but also some Hask-specific category theory:
http://www.haskell.org/haskellwiki/Typeclassopedia
- http://www.haskell.org/haskellwiki/Typeclassopedia
## Search code by type signature
@ -146,11 +148,11 @@ If you need JavaScript, you probably want Purescript for generating JS. Purescri
## Parallelism/Concurrency
This book by Simon Marlow is probably the best I've ever read on the topics of Parallelism and Concurrency: http://chimera.labs.oreilly.com/books/1230000000929
- 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:
A thorough walk-through on testing & incremental development of a multi-threaded application in Haskell: http://kukuruku.co/hub/haskell/haskell-testing-a-multithread-application
- http://kukuruku.co/hub/haskell/haskell-testing-a-multithread-application A thorough walk-through on testing & incremental development of a multi-threaded application in Haskell
http://www.haskell.org/haskellwiki/Functional_Reactive_Programming
- http://www.haskell.org/haskellwiki/Functional_Reactive_Programming
## Recursion Schemes
@ -158,15 +160,15 @@ Some of the crazy *-morphism words you've heard are actually about recursion. NB
This material dovetails with traversable and foldable.
http://patrickthomson.ghost.io/an-introduction-to-recursion-schemes/
- http://patrickthomson.ghost.io/an-introduction-to-recursion-schemes/
http://fho.f12n.de/posts/2014-05-07-dont-fear-the-cat.html - good demonstration of how hylomorphism is the composition of cata and ana.
- http://fho.f12n.de/posts/2014-05-07-dont-fear-the-cat.html - good demonstration of how hylomorphism is the composition of cata and ana.
http://comonad.com/reader/2009/recursion-schemes/ - this field guide is excellent.
- http://comonad.com/reader/2009/recursion-schemes/ - this field guide is excellent.
http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf
- http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf
https://www.fpcomplete.com/user/edwardk/recursion-schemes/catamorphisms
- https://www.fpcomplete.com/user/edwardk/recursion-schemes/catamorphisms
## Lenses and Prisms
@ -176,25 +178,25 @@ If you've ever done something like: `(fmap . fmap)` you were "lensing" in your h
I recommend these two tutorials/introductions:
https://www.fpcomplete.com/school/to-infinity-and-beyond/pick-of-the-week/a-little-lens-starter-tutorial
- https://www.fpcomplete.com/school/to-infinity-and-beyond/pick-of-the-week/a-little-lens-starter-tutorial
https://github.com/ekmett/lens#lens-lenses-folds-and-traversals
- https://github.com/ekmett/lens#lens-lenses-folds-and-traversals
## Type and Category Theory (*not* needed to actually write Haskell, just for those interested!)
If you want to follow up on the type and category theory:
Harper's Practical Foundations for Programming Languages is the best PL focused intro to type theory I've read: http://www.cs.cmu.edu/~rwh/plbook/book.pdf
- http://www.cs.cmu.edu/~rwh/plbook/book.pdf Harper's Practical Foundations for Programming Languages is the best PL focused intro to type theory I've read.
http://en.wikibooks.org/wiki/Haskell/Category_theory nice diagrams
- http://en.wikibooks.org/wiki/Haskell/Category_theory nice diagrams
http://www.haskell.org/haskellwiki/Category_theory good links to other resources
- http://www.haskell.org/haskellwiki/Category_theory good links to other resources
http://science.raphael.poss.name/categories-from-scratch.html includes practical examples
- http://science.raphael.poss.name/categories-from-scratch.html includes practical examples
https://www.google.com/search?q=Awodey+Category+Theory the standard text along with MacLane
- https://www.google.com/search?q=Awodey+Category+Theory the standard text along with MacLane
http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/
- http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/
### Stephen's Nifty "How to get to monad" posts
@ -206,10 +208,10 @@ Didn't know where else to put these:
## Ad-hoc & parametric polymorphism, free theorems
http://swizec.com/blog/week-20-making-ad-hoc-polymorphism-less-ad-hoc/swizec/6564
- http://swizec.com/blog/week-20-making-ad-hoc-polymorphism-less-ad-hoc/swizec/6564
http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf
- http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf
## Extended Reading list (some is already included here)
http://www.stephendiehl.com/posts/essential_haskell.html
- http://www.stephendiehl.com/posts/essential_haskell.html

Loading…
Cancel
Save