Difference between revisions of "IO tutorials timeline"

From HaskellWiki
Jump to navigation Jump to search
(Initial content)
 
m
 
(3 intermediate revisions by the same user not shown)
Line 10: Line 10:
   
 
== before 2000 ==
 
== before 2000 ==
* 1995-06 [https://web.archive.org/web/20140303101716/http://www-fp.dcs.st-and.ac.uk/~kh/papers/io-tutorial/io-tutorial.html Monadic I/O in Haskell 1.3] - Andrew D. Gordon and Kevin Hammond
+
* 1995-06 [https://web.archive.org/web/20140303101716/http://www-fp.dcs.st-and.ac.uk/~kh/papers/io-tutorial/io-tutorial.html Monadic I/O in Haskell 1.3] - Andrew D. Gordon and Kevin Hammond (PDF: [https://web.archive.org/web/20210429180440/www.microsoft.com/en-us/research/wp-content/uploads/1995/01/io-tutorial.pdf paper], [https://www.haskell.org/haskell-workshop/1995/HW1995-Proceedings.pdf conference proceedings])
  +
*:"We describe the design and use of monadic I/O in Haskell 1.3"
  +
  +
* 1998-02 [https://www.haskell.org/tutorial/io.html A Gentle Introduction to Haskell, Version 98: Input/Output] (translations: [https://www.sampou.org/haskell/tutorial-j/io.html jp])
  +
 
== year 2001 ==
  +
* 2001-09 [https://courses.cs.washington.edu/courses/cse505/01au/functional/functional-io.pdf I/O in Purely Functional Languages] - Alan Borning
   
 
== year 2004 ==
 
== year 2004 ==
  +
* 2004-03 [https://bingdev.binghamton.edu/head/CS471/NOTES/HASKELL/8hSpr01.html Haskell: The IO Issue in A Pure Functional Language] - Eileen Head and Leslie C. Lander
 
* 2004-10 [https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.205.9401&rep=rep1&type=pdf IO in Haskell] - Oskar Ojala
 
* 2004-10 [https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.205.9401&rep=rep1&type=pdf IO in Haskell] - Oskar Ojala
   
Line 25: Line 32:
 
* 2007-11 [http://blog.sigfpe.com/2007/11/io-monad-for-people-who-simply-dont.html The IO Monad for People who Simply Don't Care] - Dan Piponi
 
* 2007-11 [http://blog.sigfpe.com/2007/11/io-monad-for-people-who-simply-dont.html The IO Monad for People who Simply Don't Care] - Dan Piponi
 
*:Another basic introduction to I/O in Haskell.
 
*:Another basic introduction to I/O in Haskell.
 
== year 2008 ==
 
* 2008-07 [[IO Semantics]]
 
   
 
== year 2009 ==
 
== year 2009 ==
Line 41: Line 45:
   
 
* 2010-02 [https://kremer.cpsc.ucalgary.ca/courses/cpsc449/lectureNotes/Haskell-IO.pdf Haskell I/O] - Rob Kremer and Jörg Denzinger
 
* 2010-02 [https://kremer.cpsc.ucalgary.ca/courses/cpsc449/lectureNotes/Haskell-IO.pdf Haskell I/O] - Rob Kremer and Jörg Denzinger
  +
* 2010-07 [https://www.haskell.org/onlinereport/haskell2010/haskellch7.html Basic Input/Output]
   
 
== year 2011 ==
 
== year 2011 ==
  +
* 2011-03 [https://zuttobenkyou.wordpress.com/2011/03/01/my-newbie-experience-with-haskells-io-monad My Newbie Experience With Haskell’s IO Monad] - <q>Shinobu</q>
  +
*:"There are oodles of articles out there extolling the virtues of Haskell, so I want to limit this post to just one thing: the I/O Monad (with a discussion on bind operators, do-notation, and the '''return''' function) ..."
  +
 
* 2011-11 [https://wayne-adams.blogspot.com/2011/11/from-oo-to-fp-haskell-io-part-1.html From OO to FP: Haskell I/O, Part 1] - Wayne Adams
 
* 2011-11 [https://wayne-adams.blogspot.com/2011/11/from-oo-to-fp-haskell-io-part-1.html From OO to FP: Haskell I/O, Part 1] - Wayne Adams
   
Line 48: Line 56:
 
* 2012-10 [https://blog.raek.se/2012/10/19/haskell-io-in-five-minutes Haskell I/O in Five Minutes]
 
* 2012-10 [https://blog.raek.se/2012/10/19/haskell-io-in-five-minutes Haskell I/O in Five Minutes]
 
*:Another quick introduction to Haskell I/O.
 
*:Another quick introduction to Haskell I/O.
 
* 2012-01 [https://okmij.org/ftp/Computation/IO-monad-history.html IO monad realized in 1965] - Oleg Kiselyov
 
   
 
== year 2013 ==
 
== year 2013 ==
* 2013-11 [https://www.haskellforall.com/2013/01/introduction-to-haskell-io.html Introduction to Haskell <code>IO</code>] - Gabriella Gonzalez
+
* 2013-01 [https://www.haskellforall.com/2013/01/introduction-to-haskell-io.html Introduction to Haskell IO] - Gabriella Gonzalez
 
*:Another example-oriented guide to using <code>IO</code> in Haskell.
 
*:Another example-oriented guide to using <code>IO</code> in Haskell.
   
Line 65: Line 71:
   
 
== year 2015 ==
 
== year 2015 ==
* 2015-08 [https://oleksii.shmalko.com/2015/io-is-your-command-pattern IO is Your Command Pattern] - Oleksii Shmalko
 
 
* 2015-01 [https://kevinmahoney.co.uk/articles/haskell-io/ Haskell IO Without the M-word] - Kevin Mahoney
 
* 2015-01 [https://kevinmahoney.co.uk/articles/haskell-io/ Haskell IO Without the M-word] - Kevin Mahoney
 
*:A brief, low-jargon guide to I/O in Haskell.
 
*:A brief, low-jargon guide to I/O in Haskell.
  +
 
* 2015-08 [https://oleksii.shmalko.com/2015/io-is-your-command-pattern IO is Your Command Pattern] - Oleksii Shmalko
   
 
== year 2016 ==
 
== year 2016 ==
Line 74: Line 81:
   
 
== year 2017 ==
 
== year 2017 ==
  +
* 2017-04 [https://www.cs.princeton.edu/~dpw/cos441-11/notes/slides05-Haskell-IO.pdf Haskell I/O and Pure Computation] - Paul Hudak
 
* 2017-12 [https://cseweb.ucsd.edu/~dstefan/cse130-winter17/slides/io-monad.pdf IO monad: Imperative programming in Haskell] - Deian Stefan and Edward Yang
 
* 2017-12 [https://cseweb.ucsd.edu/~dstefan/cse130-winter17/slides/io-monad.pdf IO monad: Imperative programming in Haskell] - Deian Stefan and Edward Yang
   
Line 84: Line 92:
   
 
== year 2019 ==
 
== year 2019 ==
* 2019-09 [http://cmsc-16100.cs.uchicago.edu/2019-autumn/Lectures/06/intro-to-haskell-io.php Lecture 6: A Brief Introduction to Haskell I/O] - Ravi Chugh and Stuart A. Kurtz
 
*:A simple example-based introduction to I/O in Haskell.
 
 
 
* 2019-01 [http://blog.adamretter.org.uk/haskell-io-and-xpath Haskell I/O and XPath] - Adam Retter
 
* 2019-01 [http://blog.adamretter.org.uk/haskell-io-and-xpath Haskell I/O and XPath] - Adam Retter
 
* 2019-02 [https://coot.me/posts/monadic-io.html Why Monadic IO?] - Marcin Szamotulski
 
* 2019-02 [https://coot.me/posts/monadic-io.html Why Monadic IO?] - Marcin Szamotulski
 
* 2019-03 [https://web.ecs.syr.edu/courses/cis352/slides/13io.pdf Monadic I/O in Haskell] - Jim Royer
 
* 2019-03 [https://web.ecs.syr.edu/courses/cis352/slides/13io.pdf Monadic I/O in Haskell] - Jim Royer
  +
 
* 2019-09 [http://cmsc-16100.cs.uchicago.edu/2019-autumn/Lectures/06/intro-to-haskell-io.php Lecture 6: A Brief Introduction to Haskell I/O] - Ravi Chugh and Stuart A. Kurtz
 
*:A simple example-based introduction to I/O in Haskell.
   
 
== year 2020 ==
 
== year 2020 ==
Line 101: Line 109:
 
== year 2022 ==
 
== year 2022 ==
 
* 2022-07 [https://www.cs.toronto.edu/~trebla/fp/lecture-11.pdf IO in Haskell] - Albert Lai
 
* 2022-07 [https://www.cs.toronto.edu/~trebla/fp/lecture-11.pdf IO in Haskell] - Albert Lai
  +
* 2022-08 [http://cl-informatik.uibk.ac.at/teaching/ws22/fp/slides/10x1.pdf Functional Programming: Input and Output, Connect Four]
 
* 2022-12 [https://www.andres-loeh.de/io-haskellx2022.pdf Hello HaskellX! An Introduction to (IO in) Haskell] - Andres Löh
 
* 2022-12 [https://www.andres-loeh.de/io-haskellx2022.pdf Hello HaskellX! An Introduction to (IO in) Haskell] - Andres Löh
   

Latest revision as of 10:59, 2 May 2024


This is a comprehensive timeline of I/O tutorials and related articles.

Please update this list as it becomes outdated! If you find a tutorial, article, post, comment, or message that stands on its own as an explanation of I/O, then please take a moment to paste the link somewhere on this page (register a throwaway account, if you prefer). The date, author, and blurb can be added later. This will greatly help others who are using this list as a resource for learning about I/O.


before 2000

year 2001

year 2004

year 2006

  • 2006-05 Introduction to IO - Cale Gibbard
    A quick introduction to how I/O is treated in Haskell.

year 2007

year 2009

year 2010

year 2011

  • 2011-03 My Newbie Experience With Haskell’s IO Monad - Shinobu
    "There are oodles of articles out there extolling the virtues of Haskell, so I want to limit this post to just one thing: the I/O Monad (with a discussion on bind operators, do-notation, and the return function) ..."

year 2012

year 2013

year 2014

  • 2014-02 Check your I/O - Samir Talwar
  • 2014-10 How to do IO in Haskell - Toby Goodwin
    It describes Haskell I/O (with lots and lots of examples) with an emphasis on types, rather than monad theory.

year 2015

year 2016

  • 2016-09 CIS 194: IO and monads - Joachim Breitner
    Starting with an introduction to monadic I/O using a cooking analogy, it then provides more information about the monadic interface (including examples using the Maybe and list types).

year 2017

year 2018

  • 2018-03 An impure lazy programming language - Tom Ellis
    An alternate introduction to I/O in Haskell for anyone who has ever thought of trying to combine laziness with "regular I/O" (i.e. the direct use of side-effects for input and output).

year 2019

year 2020

year 2021

year 2022

year 2023