"domains are constructed at runtime"

OK sure, although I could quibble over what "constructed" means here.
But the point is that once constructed domains to not change. They are
static.

I admit that the distinction is not so straight forward in the case of
dependent types or if types where polymorphic (not the case in Axiom)
but I believe that it each case it is possible to give a definition of
type that is consistent with the claim that it is "static", i.e. that
it does not change during run-time.  In the example you gave we need
to ask: What is the type of

  T == FiniteAbelianMonoidRing(R,E)

One possible answer is that such dependent types must be treated as
being "higher-order". In this case it is just the functor
FiniteAbelianMonoidRing. And FiniteAbelianMonoidRing does not change
during run-time.

Note: In this terminology a constructor is a type expression
consisting of a functor applied to specific arguments just like an
ordinary expression can be a function applied to some argument. E.g.
'sin' is a function, 'sin(x)' is an expression.

I am not really sure what you mean by "concrete return type". What
would be a non-concrete return type?

Regards,
Bill Page.

On Fri, Feb 17, 2012 at 2:59 AM, Ralf Hemmecke <[email protected]> wrote:
>> What does "Normal types are dynamic" mean to you?
>
>
> I'm pretty sure that Waldek can only have meant that domains are constructed
> at runtime while categories are considered to be static, i.e. must be
> determined at compile time.
>
> In fact, it sounds a bit strange for situations like
>
> PolynomialRing(R : Join(SemiRng, AbelianMonoid),
>               E : OrderedAbelianMonoid) : T == C
>  where
>  T == FiniteAbelianMonoidRing(R,E) with
>  ...
>
> where the concrete return type is only known when this domain is
> instantiated.
>
> In particular, for categories like
>
> Cat(X: SetCategory): Category == with
>    if X has Ring then ...
>    ...
>
> the dynamic/static concept can lead to confusion.
>
> Ralf
>

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