# Draft Libraries Document

**Alastair David Reid
**
reid@cs.utah.edu

*31 May 2001 16:27:14 -0600*

Malcolm Wallace <malcolm@abbess.demon.co.uk> writes:
>* I notice you have gone for a "Numeric" category, rather than the
*>* "Mathematics" top-level category suggested by Dylan.
*
While pondering what else we'd put in mathematics other than numeric
stuff, I hit upon the crazy idea of adding:
Mathematics.Monad
instead of putting Monad in Control (which is the current proposal, I
believe).
For:
o it is accurate
o monads which have nothing to do with control (List, Maybe, Parser?)
will fit in quite nicely
Against:
o the Haskell learning curve gets even steeper
o There's a bit of a conflict between being easy to use and being
mathematically pure (e.g., Num is almost a ring but not quite
(fromInteger springs to mind)). If we put things in Mathematics,
the mathematicians have a strong argument for doing things the
"Right Way" but if we leave it in Control, then the pragmatists
retains some, ummm, control.
I'm not sure myself if I think this is a good thing but I thought I'd
throw it out and see if anyone else likes it enough to pick up.
--
Alastair Reid reid@cs.utah.edu http://www.cs.utah.edu/~reid/
ps Irrespective of this, I think Mathematics is a good idea because
sooner or later, someone is going to add matrix ops, rings, monoids,
categories, etc. to the library and they will want a place to hold
them.