reorganize
[lambda.git] / _learning_haskell.mdwn
index 30b4e7f..43e78c3 100644 (file)
@@ -1,75 +1,56 @@
-*   [Try Haskell in your browser](http://tryhaskell.org) (slow, bare-bones)
-*   [[Installing Haskell|/installing#haskell]]
+*   [Try Haskell in your browser](http://tryhaskell.org) (slow, bare-bones) <!-- similar websites listed at https://wiki.haskell.org/Learning_Haskell#Trying_Haskell_online -->
+*   This site's guide to [[Installing Haskell|/installing#haskell]]
 
 <!-- -->
+*   Haskell Wiki's [Introduction and explanation of Haskell](https://wiki.haskell.org/Introduction)
+*   [Why Haskell matters](https://wiki.haskell.org/Why_Haskell_matters) <!-- <http://learnyouahaskell.com/introduction#so-whats-haskell> <http://scienceblogs.com/goodmath/2006/11/26/why-haskell/> <http://www.onlamp.com/pub/a/onlamp/2007/05/21/an-introduction-to-haskell---part-1-why-haskell.html> -->
+*   [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) <!-- sister article to: http://www.cs.jhu.edu/~scott/pl/lectures/caml-intro.html -->
+*   [Tour of the Haskell Syntax](https://web.archive.org/web/20100529023840/http://cs.anu.edu.au/student/comp1100/haskell/tourofsyntax.html)
+*   [Walla Walla Tutorial](http://cs.wallawalla.edu/research/KU/PR/Haskell.html) <!-- <http://cs.wallawalla.edu/research/KU/PR/Scheme.html> <http://cs.wallawalla.edu/research/KU/PR/SML.html> -->
+*   [Quick Reference](https://wiki.haskell.org/Reference_card) | [Cheat Sheet](http://cheatsheet.codeslower.com/CheatSheet.pdf)
 *   Wikipedia on
 [Haskell](https://en.wikipedia.org/wiki/Haskell_%28programming_language%29) |
 [GHC](https://en.wikipedia.org/wiki/Glasgow_Haskell_Compiler)
-*   Haskell Wiki's [Introduction and explanation of Haskell](https://wiki.haskell.org/Introduction)
-
-<!-- -->
-### Quick Overviews ###
 <!-- [Haskell Wiki's Getting Started](https://wiki.haskell.org/Haskell_in_5_steps) -->
-*   [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), aimed at experienced programmers
-
-### For people who are new to programming ###
-
-*   [The Haskell Wikibook](https://en.wikibooks.org/wiki/Haskell)
-*   [Yet Another Haskell Tutorial](https://en.wikibooks.org/wiki/Yet_Another_Haskell_Tutorial/Preamble)
-
-### For experienced programmers ###
 
-*   [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)
-*   [Gentle Introduction to Haskell](https://www.haskell.org/tutorial) (from 2000)
 
 <!-- -->
-*   [Real World Haskell](http://book.realworldhaskell.org/read) (from 2008, more advanced)
-*   ""
-*   [Meta-tutorial](https://wiki.haskell.org/Meta-tutorial)
-*   [Learning Haskell](https://wiki.haskell.org/Learning_Haskell)
-*   ""
-*   [Books and Tutorials](https://wiki.haskell.org/Books_and_tutorials)
-*   [Tutorials](https://wiki.haskell.org/Tutorials)
-*   [Books](https://wiki.haskell.org/Books)
+*   [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)
 
-<!-- -->
 
-* "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://ertes.de/articles/monads.html)
-* [All About Monads](http://monads.haskell.cz/html/index.html)
+### Tutorials ###
+
+*   Lecture notes from a good [Intro to Haskell course](http://www.seas.upenn.edu/~cis194/fall14/lectures.html) at Penn
+*   [The Haskell Wikibook](https://en.wikibooks.org/wiki/Haskell)
+*   [Learn You a Haskell for Great Good](http://learnyouahaskell.com/chapters) (400 pp. illustrated and highly-praised textbook from 2011)
+*   [Yet Another Haskell Tutorial](https://en.wikibooks.org/wiki/Yet_Another_Haskell_Tutorial/Preamble) (YAHT, also as 192 pp. [pdf](http://hal3.name/docs/daume02yaht.pdf)) <!-- also at <https://web.archive.org/web/20060717023859/http://www.isi.edu/~hdaume/htut/tutorial.pdf> -->
 
-* "Metaphors and analogies"
-* [Understanding monads](http://en.wikibooks.org/wiki/Haskell/Understanding_monads)
-* [Monads as containers](http://www.haskell.org/haskellwiki/Monads_as_containers)
 
-* "Making monads nest"
-* [Monad Transformers Step by Step](www.grabmueller.de/martin/www/pub/Transformers.pdf)
-* [Grok Monad Transformers](http://sigfpe.blogspot.com/2006/05/grok-haskell-monad-transformers.html)
+### More tutorials, mostly aimed at existing programmers ###
 
-* "Links to Category Theory"
-* [The Haskell Programmer's Guide to the IO Monad](http://doc.utwente.nl/53411/1/00000154.pdf)
+*   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)
 
-* ""
-* [A tour of the Haskell Monad functions](http://members.chello.nl/hjgtuyl/tourdemonad.html)
-* [Introduction to IO](https://wiki.haskell.org/Introduction_to_IO) -- quick overview
-* [Quick interpreters with the Reader monad](http://www.cse.unsw.edu.au/~dons/blog/2006/12/11#interpreters-with-reader-monads)
 
+### Other ###
+*   [A Tour of the Haskell Prelude](http://www.letu.edu/people/jaytevis/Programming-Languages/Haskell/tourofprelude.html)
 
-<!-- -->
-*   [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)
 
 
-### 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) <!--
 [Haskell 98](https://www.haskell.org/onlinereport) |
 [Haskell 2010](https://www.haskell.org/onlinereport/haskell2010) |
 [Haskell'](https://ghc.haskell.org/trac/haskell-prime)
-*   [What I Wish I Knew When Learning Haskell](http://dev.stephendiehl.com/hask)
 *   [Cabal](https://wiki.haskell.org/Cabal) package manager:
 [User Guide](https://www.haskell.org/cabal/users-guide) |
-[command-line tool](https://wiki.haskell.org/Cabal-Install) |
-[installing Cabal packages](https://wiki.haskell.org/Cabal/How_to_install_a_Cabal_package) |
+[tool usage](https://wiki.haskell.org/Cabal-Install) |
+[installing packages](https://wiki.haskell.org/Cabal/How_to_install_a_Cabal_package) |
 [cabal-setup](https://hackage.haskell.org/package/cabal-setup) |
-help with [problems](https://wiki.haskell.org/Cabal/Survival)
+[help](https://wiki.haskell.org/Cabal/Survival)
 [FAQ1](https://wiki.haskell.org/Cabal/FAQ)
 [FAQ2](https://www.haskell.org/cabal/FAQ.html) |
-[writing Haskell programs](https://wiki.haskell.org/How_to_write_a_Haskell_program)
+[writing programs](https://wiki.haskell.org/How_to_write_a_Haskell_program)
 *   [Hackage](https://hackage.haskell.org) package database
-*   Haskell API Search: [Hoogle](https://www.haskell.org/hoogle) | [Hayoo](http://hayoo.fh-wedel.de)
+*   <form action="https://www.haskell.org/hoogle/" method="get">
+Haskell API Search:
+<a href="http://haskell.org/hoogle/">Hoogle</a> <input name="hoogle" type="text" value="" /><!-- input id="submit" type="submit" value="Search" / --> |
+[Hayoo](http://hayoo.fh-wedel.de)
+</form>
 *   [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?tagnames=haskell) questions tagged "haskell"
+*   [Stack Overflow](https://stackoverflow.com/questions/tagged/haskell?sort=faq) questions tagged "haskell"
+*   [Real World Haskell](http://book.realworldhaskell.org/read) (714 pp. textbook from 2008, expects you've already mastered the fundamentals of Haskell)
 *   [GHC Developer Wiki](https://ghc.haskell.org/trac/ghc)