In a domain and in categories referenced in a domain the notation %
represents "this domain" (or self in some programming languages).  So
we commonly write for example

with
  f: (%,%) -> %

to indicate a function f which takes a pair of values in this domain
and returns a value in this same domain - whatever domain we happten
to be talking about in this context.

But what if we are interested in the domain as a functor?  Suppose I
was writing an "endofunctor" domain constructor like 'Set' and I
wanted to treat constructions like 'Set Set R', i.e. sets of sets as
something special. E.g.

  MySet:(T:SetCategory):SetCategory == with
    join: MySet MySet T -> MySet T
    ...

I cannot really use MySet here because MySet is not defined yet and
the compiler complains. I cannot use % here like this:

    join: % % T -> % T

because % refers to 'MySet(T)' for some domain T in SetCategory.  But
MySet(T) is itself a domain in SetCategory so it does make sense to
iterate it. How can I do this?

I recall another related notation %% (perhaps only in Aldor?) what is
it used for?

Regards,
Bill Page.

-- 
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