Ralf Hemmecke wrote:
> 
> > 1. I know what is "a domain of that category",
> >     but what does this mean:  "a package of that category" ?
> 
> A category (or in other words, an interface) is (basically) just a list 
> of exports of the form
> 
>    foo: A -> B
> 
> A domain or package is an implementation of this interface.
> The difference between package and domain is: in the exports of a domain 
> appears % in the exports of a package it doesn't.

Actually, internaly in FriCAS the only difference between 
package and domain is that package uses ')abbrev package ...'
and domain uses ')abbrev domain ...'.  In other words the
real difference is what useres think: intuitively type T is
a package if you are not going to create data of type T,
otherwise it is a domain.  The definition above tries to
approximate this: usualy one does not includue useless
functions in domain/package so if '%' appears in signatures
then presumably one in going to create some date that type,
OTOH creation functions are typically included in domains,
so if no signatures contains '%' then it resonable to suspect
that nobady is going to create something of that type.
However, note that in principle one can create data outside
given type and then pretend to it.  OTOH one sometimes
inherits useless signatures.

-- 
                              Waldek Hebisch
[email protected] 

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to