[Haskell-cafe] haskell gsoc proposal for richer numerical type classes and supporting algorithms

Paul McJones paul at mcjones.org
Sat Apr 10 22:03:10 EDT 2010


Dear Carter,

Although I'm not an active Haskell programmer, I'd like to add my 
support for you to write up your GSOC application.

In the first five chapters of the book /Elements of Programming/ 
(Addison-Wesley, 2009), my coauthor Alex Stepanov and I undertook a 
somewhat similar effort, only using C++ instead of Haskell. We started 
with semigroups and monoids, and ended with rings and modules and a 
careful treatment of GCD.

C++ does not have a direct analog of the Haskell type class, so we 
developed our own informal conventions for documenting the definitions 
of concepts and the corresponding type requirements in function 
templates and class templates.  The concept definitions extracted from 
the book are available here:

     http://www.elementsofprogramming.com/eop-concepts.pdf

and the source code here:

     http://www.elementsofprogramming.com/code.html

I subsequently translated the concepts and functions from the first 
(functional) half of our book into Haskell. It was a useful learning 
exercise for me (giving me an appreciation for Edward Kmett's comments 
on your proposal), and has led to fruitful discussions with Henning 
Thielemann (see the Haskell Numerical Prelude and 
http://www.haskell.org/haskellwiki/Mathematical_prelude_discussion) and 
Jacques Carette (MathScheme, etc.).


Paul McJones


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100410/f253777c/attachment.html


More information about the Haskell-Cafe mailing list