# [Haskell-cafe] Re: Numeric type classes

jerzy.karczmarczuk at info.unicaen.fr jerzy.karczmarczuk at info.unicaen.fr
Thu Sep 14 16:38:37 EDT 2006

```Jacques Carette after David Menendez ... :

...

>> It gets worse than that. Imagine trying to explain to someone why "1 +
>> sin" is actually "\a -> const 1 a + sin a".
>>
> It isn't that hard - it is done routinely in mathematics courses.  In
> fact, that is what 1+sin means in Maple today (and has for 25 years).  It
> is also what it means in MuPAD.

Actually in Maple 1 + sin means 1+sin. Of course, you may write
a:=1+sin;
a(5);
and get 1+sin(5), but replacing "sin" by "jacques" gives Maple a very
similar behaviour. This is just a symbolic, *NOT* a functional object!
(And somehow I am sure that you know that...) MuPAD behaves identically.

> That is what polymorphism is all about!

Not in this context, sorry. This is a convention. Another one may give you
an abomination, e.g., 1+sin means 1 plus the addres of the sin routine.
(Of course not in a 'decent' language, but I know a few undecent.

Jerzy Karczmarczuk
```