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


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to