[Haskell-cafe] Class
Slavomir Kaslev
slavomir.kaslev at gmail.com
Fri Nov 3 06:02:17 EST 2006
On 11/3/06, Bulat Ziganshin <bulat.ziganshin at gmail.com> wrote:
> Hello Slavomir,
>
> Thursday, November 2, 2006, 9:59:38 PM, you wrote:
>
> >> one is okay, though, but you have to start ghc with
> >> -fallow-undecidable-instances and -fglasgow-exts I'm afraid.
>
> > Thanks, Sebastian. That was helpful. Are there any papers on the subject?
>
> i recommend you to read in the following sequence:
>
> 1) The paper that at first time introduced type classes and their
> implementation using dictionaries was Philip Wadler and Stephen Blott
> "How to make ad-hoc polymorphism less ad-hoc"
> (http://homepages.inf.ed.ac.uk/wadler/papers/class/class.ps.gz)
>
> 2) http://haskell.org/haskellwiki/OOP_vs_type_classes
>
> 3) Ralf Lammel and Klaus Ostermann paper
> "Software Extension and Integration with Type Classes"
> (http://homepages.cwi.nl/~ralf/gpce06/) which prompts me to start
> thinking about differences between OOP and type classes instead of
> their similarities
>
> 4) ghc user's guide, chapter 7 describes Haskell language extensions
>
> 5) You can find more papers on the
> http://haskell.org/haskellwiki/Research_papers/Type_systems#Type_classes page.
> Of those papers i found a most interesting "exporing the design space"
> one
>
> 6) The best paper on type level arithmetic using type classes i've seen
> is "Faking it: simulating dependent types in Haskell"
> ( http://www.cs.nott.ac.uk/~ctm/faking.ps.gz )
>
> 7) The great demonstration of type-level arithmetic is TypeNats package
> which "defines type-level natural numbers and arithmetic operations on
> them including addition, subtraction, multiplication, division and GCD"
> ( darcs get --partial --tag '0.1' http://www.eecs.tufts.edu/~rdocki01/typenats/ )
>
> 8) I should also mention here Oleg Kiselyov page on class-based type-level
> programming in Haskell: http://okmij.org/ftp/Haskell/types.html
>
>
> --
> Best regards,
> Bulat mailto:Bulat.Ziganshin at gmail.com
>
>
Wow. Thank you for the comprehensive list. I feel almost obligated reading =-)
Cheers.
--
Slavomir Kaslev
More information about the Haskell-Cafe
mailing list