X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=_learning_haskell.mdwn;h=7698ca6005c5def13acf1ec8fc970933323ba451;hp=563f3da03bf2b579f70cb9b18491b70e911f7476;hb=1aa76fcb2bc890856d878e8d5a3beb4c2f2fed58;hpb=d5628678bf48dadb8f598b8db5a672c4e6381a0a diff --git a/_learning_haskell.mdwn b/_learning_haskell.mdwn index 563f3da0..7698ca60 100644 --- a/_learning_haskell.mdwn +++ b/_learning_haskell.mdwn @@ -1,79 +1,56 @@ -* [Try Haskell in your browser](http://tryhaskell.org) (slow, bare-bones) +* [Try Haskell in your browser](http://tryhaskell.org) (slow, bare-bones) * This site's guide to [[Installing Haskell|/installing#haskell]] -* [Learn Haskell in 10 minutes](https://wiki.haskell.org/Learn_Haskell_in_10_minutes) * Haskell Wiki's [Introduction and explanation of Haskell](https://wiki.haskell.org/Introduction) -* [Haskell FAQ](https://wiki.haskell.org/FAQ) +* [Why Haskell matters](https://wiki.haskell.org/Why_Haskell_matters) +* [Learn Haskell in 10 minutes](https://wiki.haskell.org/Learn_Haskell_in_10_minutes) +* [A brief introduction to Haskell](https://wiki.haskell.org/A_brief_introduction_to_Haskell) +* [Quick Reference](https://wiki.haskell.org/Reference_card) | [Cheat Sheet](http://cheatsheet.codeslower.com/CheatSheet.pdf) +* [Tour of the Haskell Syntax](https://web.archive.org/web/20100529023840/http://cs.anu.edu.au/student/comp1100/haskell/tourofsyntax.html) +* [Walla Walla Overview](http://cs.wallawalla.edu/research/KU/PR/Haskell.html) (18 pp.) * Wikipedia on -[Haskell](https://en.wikipedia.org/wiki/Haskell_%28programming_language%29) | +[Haskell](https://en.wikipedia.org/wiki/Haskell_%28programming_language%29) and [GHC](https://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler) + * [Haskell Wiki](https://wiki.haskell.org), with a link to download the [Haskell Platform](https://www.haskell.org/platform/contents.html) * [New Haskell Wiki](https://new-www.haskell.org) +* [Haskell FAQ](https://wiki.haskell.org/FAQ) -### For people who are new to programming ### - -* [The Haskell Wikibook](https://en.wikibooks.org/wiki/Haskell) -* [More Tutorials](https://wiki.haskell.org/Tutorials) - -### For experienced programmers ### - -* [A brief introduction to Haskell](https://wiki.haskell.org/A_brief_introduction_to_Haskell) -* [Haskell Tutorial for C Programmers](https://wiki.haskell.org/Haskell_Tutorial_for_C_Programmers) -* [How to read Haskell](https://wiki.haskell.org/How_to_read_Haskell) -* [Hitchhiker's guide to Haskell](https://wiki.haskell.org/Hitchhikers_guide_to_Haskell) -* [Learn You a Haskell for Great Good](http://learnyouahaskell.com/chapters) (textbook) -* A Not-So-[Gentle Introduction to Haskell](https://www.haskell.org/tutorial) (from 2000) -* [Haskell-Tutorial](ftp://ftp.geoinfo.tuwien.ac.at/navratil/HaskellTutorial.pdf) -* [The Haskell Road to Logic, Math and Programming](http://fldit-www.cs.uni-dortmund.de/~peter/PS07/HR.pdf) -* [Real World Haskell](http://book.realworldhaskell.org/read) (textbook from 2008) - - -* [Lambda Lessons](https://stevekrouse.github.io/hs.js): interactive lessons on pattern matching, first-class functions, and abstracting over recursion in Haskell +## Tutorials ## - -Don't mind Haskell syntax, but not yet comfortable with do-notation / monads -* [You could have invented monads! (and maybe you already have!)](http://sigfpe.blogspot.com/2006/08/you-could-have-invented-monads-and.html) -* [Understanding Haskell Monads](http://web.archive.org/web/20120626020258/http://ertes.de/articles/monads.html) -Metaphors and analogies -* [Understanding monads](http://en.wikibooks.org/wiki/Haskell/Understanding_monads) -* [Monads as containers](http://www.haskell.org/haskellwiki/Monads_as_containers) +### More tutorials, mostly aimed at existing programmers ### -Making monads nest -* [Monad Transformers Step by Step](http://www.cs.virginia.edu/~wh5a/personal/Transformers.pdf) -* [Grok Haskell Monad Transformers](http://sigfpe.blogspot.com/2006/05/grok-haskell-monad-transformers.html) +* A Not-So-[Gentle Introduction to Haskell](https://www.haskell.org/tutorial) (64 pp. tutorial from 2000, expects some prior knowledge of functional programming) +* [Haskell Tutorial for C Programmers](https://wiki.haskell.org/Haskell_Tutorial_for_C_Programmers) (45 pp.) +* [How to read Haskell](https://wiki.haskell.org/How_to_read_Haskell) +* [Hitchhiker's guide to Haskell](https://wiki.haskell.org/Hitchhikers_guide_to_Haskell) (33 pp.) +* [Write Yourself a Scheme in 48 Hours](http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours) +* Comprehensive List at [Haskell Wiki](https://wiki.haskell.org/Tutorials) -Links to Category Theory -* [The Haskell Programmer's Guide to the IO Monad](http://doc.utwente.nl/53411/1/00000154.pdf) -* [Quick Introduction to IO](https://wiki.haskell.org/Introduction_to_IO) -* [Tackling the awkward squad](http://research.microsoft.com/en-us/um/people/simonpj/papers/marktoberdorf/mark.pdf): monadic I/O, concurrency, exceptions, and FFI in Haskell -* [IO inside](https://wiki.haskell.org/IO_inside) -* [A tour of the Haskell Monad functions](http://members.chello.nl/hjgtuyl/tourdemonad.html) -* [What the hell are monads?](https://web.archive.org/web/20040404212440/http://www.abercrombiegroup.co.uk/~noel/research/monads.html) ---> +### Other ### +* [Lambda Lessons](http://stevekrouse.github.io/hs.js), experiment with evaluating `map` and `fold` step-by-step +* [A Tour of the Haskell Prelude](http://www.letu.edu/people/jaytevis/Programming-Languages/Haskell/tourofprelude.html) -### More Advanced Docs ### +## Advanced Docs, listed here for reference ## * GHC User's Guide from [Haskell Platform](https://www.haskell.org/platform/doc/2014.2.0.0/ghc/users_guide) | -[latest](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide) +[latest](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide), including +[Using GHCi](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html) and +[Extensions](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghc-language-features.html) * Libraries from [Haskell Platform](https://www.haskell.org/platform/doc/2014.2.0.0/platform/doc) | [Haskell 2010](https://www.haskell.org/onlinereport/haskell2010/haskellpa2.html) | +[Hayoo](http://hayoo.fh-wedel.de) + * [Haddock](https://www.haskell.org/haddock) documentation generator: User Guide from [Haskell Platform](https://www.haskell.org/platform/doc/2014.2.0.0/ghc/haddock/index.html) | [latest](https://www.haskell.org/haddock/doc/html) | [FAQ](https://wiki.haskell.org/Haddock/FAQ) +* [What I Wish I Knew When Learning Haskell](http://dev.stephendiehl.com/hask) (300 pp. website) +* [Haskell idioms](https://wiki.haskell.org/Blow_your_mind) +* Haskell Wiki [Glossary](https://wiki.haskell.org/Category:Glossary) * [Reddit's r/haskell](https://www.reddit.com/r/haskell) * [Stack Overflow](https://stackoverflow.com/questions/tagged/haskell?sort=faq) questions tagged "haskell" +* [Real World Haskell](http://book.realworldhaskell.org/read) (714 pp. text from 2008, expects you've already mastered the fundamentals of Haskell) * [GHC Developer Wiki](https://ghc.haskell.org/trac/ghc)