Difference between revisions of "IO tutorials timeline"
Jump to navigation
Jump to search
m |
m |
||
(3 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
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. |
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. |
||
+ | __TOC__ |
||
+ | |||
+ | <br> |
||
+ | <font size="+1"> |
||
+ | “The work of Peyton-Jones and Wadler |
||
+ | [https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.9725&rep=rep1&type=pdf <span></span>] |
||
+ | has turned full circle back to Landin's earlier work |
||
+ | as their use of Moggi's sequencing monad enables real side-effects to be incorporated into monad |
||
+ | operations such as <code>print</code>.” |
||
+ | </font> |
||
+ | :[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.6497&rep=rep1&type=pdf An introduction to category theory, category theory monads, and their relationship to functional programming], Jonathan M.D. Hill and Keith Clarke (page 9). |
||
== 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]) |
||
+ | |||
⚫ | |||
+ | * 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 43: | ||
* 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. |
||
− | |||
⚫ | |||
− | * 2008-03 [https://web.archive.org/web/20120302131343/http://lukepalmer.wordpress.com/2008/03/29/io-monad-the-continuation-presentation/ IO Monad: The Continuation Presentation] - Luke Palmer |
||
== year 2009 == |
== year 2009 == |
||
Line 41: | Line 56: | ||
* 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 67: | ||
* 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- |
+ | * 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 82: | ||
== year 2015 == |
== year 2015 == |
||
⚫ | |||
* 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. |
||
+ | |||
⚫ | |||
== year 2016 == |
== year 2016 == |
||
Line 74: | Line 92: | ||
== 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 103: | ||
== year 2019 == |
== year 2019 == |
||
⚫ | |||
⚫ | |||
− | |||
* 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 |
||
+ | |||
⚫ | |||
⚫ | |||
== year 2020 == |
== year 2020 == |
||
Line 101: | Line 120: | ||
== 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 02:16, 20 August 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.
“The work of Peyton-Jones and Wadler
has turned full circle back to Landin's earlier work
as their use of Moggi's sequencing monad enables real side-effects to be incorporated into monad
operations such as print
.”
- An introduction to category theory, category theory monads, and their relationship to functional programming, Jonathan M.D. Hill and Keith Clarke (page 9).
before 2000
- 1995-06 Monadic I/O in Haskell 1.3 - Andrew D. Gordon and Kevin Hammond (PDF: paper, conference proceedings)
- "We describe the design and use of monadic I/O in Haskell 1.3"
- 1998-02 A Gentle Introduction to Haskell, Version 98: Input/Output (translations: jp)
year 2001
- 2001-09 I/O in Purely Functional Languages - Alan Borning
year 2004
- 2004-03 Haskell: The IO Issue in A Pure Functional Language - Eileen Head and Leslie C. Lander
- 2004-10 IO in Haskell - Oskar Ojala
year 2006
- 2006-05 Introduction to IO - Cale Gibbard
- A quick introduction to how I/O is treated in Haskell.
- 2006-09 IO at work
year 2007
- 2007-05 Functional Programming: IO Monad - Jevgeni Kabanov
- 2007-11 The IO Monad for People who Simply Don't Care - Dan Piponi
- Another basic introduction to I/O in Haskell.
year 2009
- 2009-01 Haskell I/O for Imperative Programmers
- A direct low-fuss jargon-light guide to using Haskell's I/O system, with examples.
- 2009-09 Haskell I/O - Curt Clifton
- 2009-12 Haskell, I/O and Monads
year 2010
- 2010-01 Explaining Haskell IO without Monads - Neil Mitchell
- A direct, example-based guide to performing I/O in Haskell.
- 2010-02 Haskell I/O - Rob Kremer and Jörg Denzinger
- 2010-07 Basic Input/Output
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) ..."
- 2011-11 From OO to FP: Haskell I/O, Part 1 - Wayne Adams
year 2012
- 2012-10 Haskell I/O in Five Minutes
- Another quick introduction to Haskell I/O.
year 2013
- 2013-01 Introduction to Haskell IO - Gabriella Gonzalez
- Another example-oriented guide to using
IO
in Haskell.
- Another example-oriented guide to using
- 2013-11 The Compromiseless Reconciliation of I/O and Purity - Justin Le
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.
- 2014-12 3. Pure Functions, Laziness, I/O, and Monads - Bartosz Milewski
year 2015
- 2015-01 Haskell IO Without the M-word - Kevin Mahoney
- A brief, low-jargon guide to I/O in Haskell.
- 2015-08 IO is Your Command Pattern - Oleksii Shmalko
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).
- 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
year 2017
- 2017-04 Haskell I/O and Pure Computation - Paul Hudak
- 2017-12 IO monad: Imperative programming in Haskell - Deian Stefan and Edward Yang
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).
- 2018-09 Haskell IO - Rob Cameron
- 2018-09 What is IO - Gil Mizrahi
year 2019
- 2019-01 Haskell I/O and XPath - Adam Retter
- 2019-02 Why Monadic IO? - Marcin Szamotulski
- 2019-03 Monadic I/O in Haskell - Jim Royer
- 2019-09 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
- 2020-05 Understand IO Monad and implement it yourself in Haskell - Henri Tuhola
- 2020-06 The IO Container - Mark Seemann
year 2021
- 2021-01 Monadic Input/Output - Luca Abeni
- 2021-10 Working with IO - Gil Mizrahi
year 2022
- 2022-07 IO in Haskell - Albert Lai
- 2022-08 Functional Programming: Input and Output, Connect Four
- 2022-12 Hello HaskellX! An Introduction to (IO in) Haskell - Andres Löh
year 2023
- 2023-03 Haskell: I/O (continued); Haskell: Data - Glenn G. Chappell