(1) -> a:X := 1$Integer
(1) 1
Type: Integer
Shouldn't that complain, because X is not defined?
Also the following I find somehow problematic (although it's not
dramatic since there is an easy workaround).
---rhxBEGIN tst.spad
)abbrev domain MEX MExpression
Z ==> Integer
X ==> Expression Z
MExpression: with
0: () -> %
coerce: % -> OutputForm
== add
Rep := X
-- auxiliary functions
rep(x: %): Rep == x pretend Rep
per(x: Rep): % == x pretend %
0: % == per((0$Z)::X)
coerce(x: %): OutputForm == coerce(rep x)$X
---rhxEND tst.spad
The addition of "$X" in the last line is superfluous since the input
type for coerce in (coerce rep x) is Rep and the return time could be
extracted from the lefthand side. So it should be clear which coerce to
select. Unfortunately, without the "$X" the code compiles, but then
asking for
0$MEX
seems to run forever.
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.