librelist archives

« back to archive

[fprg] A History of Haskell: Being Lazy With Class - Hudak, Peyton Jones and Wadler (2007)

[fprg] A History of Haskell: Being Lazy With Class - Hudak, Peyton Jones and Wadler (2007)

From:
Ashok Gautham
Date:
2014-04-22 @ 20:00
Hi,

I did most of the Deforestation paper. While that paper is a little
dense, this is a nice bit of light/medium reading. I moved it to my
Kindle and read the paper on my train to and from Chennai.

While it might look like just "language history", I assure you that
there is a lot to take away from the paper itself.

Section 4 (Technical Contributions) talks about some of the decisions
that made Haskell what it is. Section 5 is a quick walkthrough through
irrefutable patterns (like the ones found in Haskell and Rust, the
notorious n+k pattern and why it got into Haskell, why newtype was
introduced, lifted semantics, (and a bit about views that I did not
completely understand). Section 6 (Haskell as a type-system laboratory)
is where things stop being good and start being awesome. Type
defaulting, monomorphism restrictions, higher-kinded polymorphism, and a
bunch of features I had no idea were in Haskell - functional
dependencies, existential constructors, implicit parameters. It even
goes into GADTs. Section 7 is all you need to know about Monads and I/O.
Section 8 is mostly other features like FFI, packaging etc that have
better material elsewhere. Section 9 can mostly be skipped. 10, 11 and
12 are interesting, but I haven't come to it yet.

# Title
A History of Haskell: Being Lazy With Class

# Author(s)
Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler

# Year
2007

# Abstract

This paper describes the history of Haskell, including its genesis
and principles, technical contributions, implementations and tools,
and applications and impact.

# Paper
http://haskell.cs.yale.edu/wp-content/uploads/2011/02/history.pdf


---
Ashok Gautham.

Re: [bangalorehaskell] [fprg] A History of Haskell: Being Lazy With Class - Hudak, Peyton Jones and Wadler (2007)

From:
Ramakrishnan Muthukrishnan
Date:
2014-04-23 @ 01:41
On Wed, Apr 23, 2014, at 01:30 AM, Ashok Gautham wrote:
> 
> I did most of the Deforestation paper. While that paper is a little

Very good. I haven't made progress (I am somewhere in the middle and
probably would have to skim what I already read, again, to catchup).

> Section 4 (Technical Contributions) talks about some of the decisions
> that made Haskell what it is. Section 5 is a quick walkthrough through
> irrefutable patterns (like the ones found in Haskell and Rust, the

Yes, I have read that paper and it is awesome! 

I can recommend this as a followup paper:

<https://research.microsoft.com/en-us/um/people/simonpj/papers/marktoberdorf/>

It is a wonderful paper and certainly worth reading.

-- 
  Ramakrishnan

Re: [bangalorehaskell] [fprg] A History of Haskell: Being Lazy With Class - Hudak, Peyton Jones and Wadler (2007)

From:
Ramakrishnan Muthukrishnan
Date:
2014-04-23 @ 02:06
> A History of Haskell: Being Lazy With Class

(An anonymous reviewer supplied the following: “An interesting sidelight
is that the Friedman and Wise paper inspired Sussman and Steele to
examine lazy evaluation in Scheme, and for a time they weighed whether
to make the revised version of Scheme call-by- name or call-by-value.
They eventually chose to retain the original call-by-value design,
reasoning that it seemed to be much easier to simulate call-by-name in a
call-by-value language (using lambda- expressions as thunks) than to
simulate call-by-value in a call-by- name language (which requires a
separate evaluation-forcing mech- anism). Whatever we might think of
that reasoning, we can only speculate on how different the academic
programming-language landscape might be today had they made the opposite
decision.)

-- 
  Ramakrishnan