What, you say, mathematicians just *have* to use *Haskell* ??

Stop right there, and read this.

Technically, there’s nothing new to see here at all. Lisp is high-level and low-level. Lisp is multi-paradigm. Lisp has uniform syntax. Blah blah blah. You’ve heard it all.

Still, some people seem to require an “argument from authority” (and usually still keep looking) … in which case you might be persuaded by this.

An extract (describing how ** defclass** and

**can be**

`defgeneric`

*handily abused*to yield whatever you like):

For example, a mathematician who installs under CLOS the traditional mathematical categories must organize his work as follows:

The

`defclass`

statements will be used to define what a “set” object is, what a “group” object is, what a “chain complex” object is, and so on.The

`defgeneric`

statements will be used to define functions working on these objects, but these “functions” are traditionally called in this casefunctorsin mathematics; therefore one`defgeneric`

statement for thesumfunctor, another`defgeneric`

for theclassifying spacefunctor, and so on.Finally each generic function will have various methods to adapt the generic function to specific cases; for example the product of two objects of some category is also an object of this category with the corresponding structure to be defined. Therefore one product method for the

sets, another product method for themagmas, another method for themonoids, and so on. The`call-next-method`

and`change-class`

functions will allow these methods topossiblyrefer to theless specificones.