[plt-scheme] Re: Typed scheme: Cannot apply expression of type Procedure, since it is not a function type

From: Noel Welsh (noelwelsh at gmail.com)
Date: Fri Jun 4 16:28:23 EDT 2010

On Fri, Jun 4, 2010 at 8:37 PM, keydana at gmx.de <keydana at gmx.de> wrote:
> Discriminated unions are the category-theoretic dual of cartesian
> products...
> Can you please elaborate?

Products are Ands are tuples. E.g. int * bool -- an integer and a boolean
Sums are Ors are discrimintaed unions. E.g. Foo | Bar
Duals informally means you can map concepts in one domain directly
into the other

> If you find one useful, chances are you need the other, too.

I don't have a good explanation for this, but I think sums and
products as axes in 2D, and having the two allows you to escape the
constraints of one axis.

> ... (Plus, I think I cannot go on bugging Sam with so many
> questions :-;). ...

I think this is good for Sam. It will motivate better docs and toughen
him up for the Ecmascript committee.


Posted on the users mailing list.