On 11/3/06, Bulat Ziganshin <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED]



Wow. Thank you for the comprehensive list. I feel almost obligated reading =-)

Cheers.

--
Slavomir Kaslev
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to