Franz Lehner wrote:
>
> Dear all,
>
> the following compiles up to revision 1284,
> but not in revision 1303 (did not check in between).
> Everything happens on Debian squeeze 64 bit with sbcl 1.0.28.
> ****************************************************
> )abbrev domain FOO Foo
> Foo:Exports == Implementation where
> R ==> Expression Integer
> S ==> Symbol
> A ==> XDistributedPolynomial(S, R)
> Exports ==> XPolynomialsCat(S, R)
> Implementation ==> A add
> Rep:= A
> foo(x:R):R == x
>
> )abbrev domain BAR Bar
> Bar(R:CommutativeRing, M:OrderedMonoid):Exports == Implementation where
> A ==> XPolynomialRing(R, M)
> Exports ==> XAlgebra(R)
> Implementation ==> A add
> Rep:= A
> bar(x:R):R == x
> ****************************************************
>
> Internal Error
> Unexpected error in call to system function compColonOld
>
> The error goes away if "R" in Foo is replaced by a different letter.
> Looking at the debugger output, it appears that
> somehow the compiler cannot forget the _macro_
> R ==> Expression Integer from inside Foo
> and messes it up with the _parameter_ R when compiling Bar.
> What is the reason for this?
That is a bug which I introduced in recent change adding
parametric macros. At the same time I extended scope of
macros defined a top level to the whole file, but I forgot
to remove definitions of macros inside 'where'. I have
commited a fix to the trunk.
--
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.