[Haskell-cafe] Re: Language extensions [was: Memoization]

apfelmus apfelmus at quantentunnel.de
Sun May 27 13:56:19 EDT 2007


Andrew Coppin wrote:
> In my book, if it's difficult to explain what a feature even *does*, you
> have to wonder if that feature is really necessary...

Well, difficulty is in the eye of the beholder. For the one familiar
with formal logic, ∀ and ∃ are as basic as apples and eggplants. Nobody
can stop you to become familiar as well.

> GADTs (um... why?)

GADTs are awesome. They're the basic tool to derive data structures from
their specification and they bring dependent types in reach.

  http://haskell.org/haskellwiki/GADT

  R. Hinze. Fun with Phantom Types.
  http://www.informatik.uni-bonn.de/~ralf/publications/With.pdf

  K. Claessen. Parallel Parsing Processes.
  http://www.cs.chalmers.se/~koen/pubs/entry-jfp04-parser.html
  (This paper is not about GADTs but about deriving data structures
  from their specification)

> rank-N polymorphism (er... what?)

Actually, rank-N polymorphism came first and has been cut down to form
the basis of Haskell. You may want to look for "System F", perhaps in
the book

   Girard, Lafont, Taylor. Proofs and Types.
   http://www.cs.man.ac.uk/~pt/stable/prot.pdf

> MPTC, functional dependencies

  Mark P. Jones. Type Classes with Functional Dependencies.
  http://web.cecs.pdx.edu/~mpj/pubs/fundeps.html

Regards,
apfelmus



More information about the Haskell-Cafe mailing list