Add link to Penn CIS 194
[lambda.git] / _learning_haskell.mdwn
index 896fbd4..060007e 100644 (file)
 
 ### For people who are new to programming ###
 
-*   [The Haskell Wikibook](https://en.wikibooks.org/wiki/Haskell) <!-~
+*   [The Haskell Wikibook](https://en.wikibooks.org/wiki/Haskell) <!--
     Beginners track assumes no programming background. Supposed to include adaptations of:
     [Yet Another Haskell Tutorial](https://en.wikibooks.org/wiki/Yet_Another_Haskell_Tutorial/Preamble) (YAHT)
-      http://hal3.name/docs/daume02yaht.pdf
-      https://web.archive.org/web/20060717023859/http://www.isi.edu/~hdaume/htut/tutorial.pdf
-    [Write Yourself a Scheme in 48 Hours](http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours)
+      <http://hal3.name/docs/daume02yaht.pdf>
+      <https://web.archive.org/web/20060717023859/http://www.isi.edu/~hdaume/htut/tutorial.pdf>
     [All about Monads](http://monads.haskell.cz/html/index.html)
-      https://wiki.haskell.org/All_About_Monads
-    ~->
+      <https://wiki.haskell.org/All_About_Monads>
+    [Write Yourself a Scheme in 48 Hours](http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours)
+    -->
 *   [More Tutorials](https://wiki.haskell.org/Tutorials)
 
 ### For experienced programmers ###
 
-*   [A brief introduction to Haskell](https://wiki.haskell.org/A_brief_introduction_to_Haskell)
+*   [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 -->
+*   Lecture notes from a good [Intro to Haskell course](http://www.seas.upenn.edu/~cis194/fall14/) at Penn
+*   [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, expects some prior knowledge of functional programming)
 *   [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
+*   [Real World Haskell](http://book.realworldhaskell.org/read) (textbook from 2008, expects you've already mastered the fundamentals of Haskell)
 
 
 <!-~
 * Wadler, [Monads for functional programming](http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf)
 
-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)
+You don't mind Haskell syntax, but aren't 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)
+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](http://www.cs.virginia.edu/~wh5a/personal/Transformers.pdf)
-[Grok Haskell Monad Transformers](http://sigfpe.blogspot.com/2006/05/grok-haskell-monad-transformers.html)
+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)
 
-Links to Category Theory
-[The Haskell Programmer's Guide to the IO Monad](http://doc.utwente.nl/53411/1/00000154.pdf)
+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)
+
 ~->
 
 
@@ -108,40 +106,3 @@ User Guide from [Haskell Platform](https://www.haskell.org/platform/doc/2014.2.0
 *   [Reddit's r/haskell](https://www.reddit.com/r/haskell)
 *   [Stack Overflow](https://stackoverflow.com/questions/tagged/haskell?sort=faq) questions tagged "haskell"
 *   [GHC Developer Wiki](https://ghc.haskell.org/trac/ghc)
-
-
-### Miscellany ###
-
-* <http://foswiki.cs.uu.nl/foswiki/Techno/ProgrammingLanguageTheoryTextsOnline>
-
-* <https://wiki.haskell.org/Research_papers>
-* <https://wiki.haskell.org/Mathematics>
-
-
-* [The Implementation of Functional Programming Languages](http://research.microsoft.com/en-us/um/people/simonpj/Papers/slpj-book-1987/index.htm), Simon Peyton Jones, published by Prentice Hall, 1987
-
-* [Type Theory and Functional Programming](http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/), Simon Thompson, Addison-Wesley, 1991. ISBN 0-201-41667-0. Hardcover: 388 pages. 
-
-* From 1995, Jeroen Fokker's _Functional Programming_ <http://www.staff.science.uu.nl/~fokke101/courses/fp-eng.pdf>
-
-* A Tour of the Haskell Prelude <http://www.letu.edu/people/jaytevis/Programming-Languages/Haskell/tourofprelude.html>
-
-* A tour of the Haskell Monad functions <http://members.chello.nl/hjgtuyl/tourdemonad.html>
-
-* <https://wiki.haskell.org/Reference_card>
-* Haskell Cheat Sheet <http://cheatsheet.codeslower.com/CheatSheet.pdf>
-
-* Glossary <https://wiki.haskell.org/Category:Glossary>
-
-
-* The paper that for the first time introduced type classes and their
-implementation using dictionaries, <http://homepages.inf.ed.ac.uk/wadler/papers/class/class.ps.gz>
-
-* <https://wiki.haskell.org/Research_papers/Type_systems#Type_classes>
-
-* Generic Programming / <https://wiki.haskell.org/Scrap_your_boilerplate>
-
-* <http://legacy.cs.uu.nl/daan/download/parsec/parsec.html>
-* <https://wiki.haskell.org/Modern_array_libraries>
-
-