Record is mutable, Cross is not.

Yes, that is my point. We can treat many things as convention,
including mutability.  The question is this somehow essential to the
language?

Mutable/immutable is like non-functional/functional. I was once told that due to the fact that Cross is immutable, the compiler can apply certain optimizations. If all this where just a convention, then such optimizations cannot be done without perhaps changing the semantics of the program.

So just to be clear:  Are you suggesting that Rep is not an essential
part of the SPAD language?

Right.

Do you also remember that Stephen Watt was thinking about %?
I think it had to do with defining one domain inside another. Something like

  add {
       A==>%
       B==>%
       Rep == String
       D: with {foo: A -> B} == add {Rep == Integer;
           foo(x:A):B==per(2 * rep x)
       }
       foo(x: %): % ==

If A=B=% then it's probably always referring to D. Is there any way that inside D I can refer to the % of the outer (anonymous) add domein?

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