[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] "has" and "with" (was curious algebra failure)

From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] "has" and "with" (was curious algebra failure)
Date: 13 Aug 2007 00:28:49 -0500

"Bill Page" <address@hidden> writes:


| > > I'm saying that the parameter S of the default package
| > > Monad& -- generated for the default implementation of the
| > > category Monad -- is of the named category Monad.  It is
| > > that parameter S which is being used to instantiate
| > >RepeatedSquaring.  However, RepeatedSquaring expects its
| > >(domain) argument to be of the unnamed category
| > >
| > >    SetCategory with "*": (%,%) -> %
| Your statement of the problem is a little confusing to me since the
| parameter S is the parameter of RepeatedSquaring. But as you say, it's
| type is given by the unnamed category above. You are concerned because
| what is being passed to RepeatedSquaring is a domain of type category
| named Monad. But clearly a domain of type Monad is also is a member of
|    SetCategory with "*": (%,%) -> %
| since Monad is a subcategory of this category - any domain that "has"
| Monad will necessarily provide all of the exports required by
| RepeatedSquaring. RepeatedSquaring requires it's (domain) argument to
| be of type that is a subcategory of this unnamed category.

Bill, it is getting late so I'll try to give a longer reply later.
I just wanted to say one thing:  We should distinguish the notion of
"being of a member of T" from "being coercible to T" -- as the Spad
language does.  Argument passing in function calls follows the
semantics of  "being coercible to the type of formal parameter".  

-- Gaby

reply via email to

[Prev in Thread] Current Thread [Next in Thread]