On 18/09/16 18:41, Waldek Hebisch wrote:
Martin Baker wrote:
Thanks for applying previous patch.
When you did this you made some changes and one of these changes
introduced a bug, so here is a fix for this bug:
I got caught by Spad weirdness. In Spad
"string"::OutputForm
is the same as
"string"@OutputForm
which gives the same result as
message("string")
that is without string quotes. OTOH
ss : String := "string"
ss::OutputForm
is the same as interpreter "string"::OutputForm and adds
string quote. I am thinking about removing the special
handling of '"string"@OutputForm' from Spad compiler.
There seem to be several uses of this in algebra, so there
is some work adjusting. But still I think that removing this
irregularity is better.
Waldek,
I think the main problem is much simpler than that, its not doing
anything with the result, it should assign it to variable 's'. So it
gives empty output like this:
(1) -> UNTYP := SKICombinators Untyped
(1) SKICombinators(Untyped)
Type: Type
(2) -> m1 := I()$UNTYP
(2)
Type:SKICombinators(Untyped)
but it should give output like this:
(2) -> m1 := I()$UNTYP
(2) I
Type:SKICombinators(Untyped)
I think the code should be like this:
-- output
coerce(n : %) : OutputForm ==
s : OutputForm := empty()$OutputForm
if n case lf then
-- leaf node so print I, K or S
s := (n.lf)::OutputForm -- **need to assign to s here **
if n case nd then
-- binary node which has two subnodes c1 and c2
if atom?(n.nd.c2) then
if variable?(n.nd.c2) then
s := hconcat([s,_
(n.nd.c1)::OutputForm,_
message(" "),_
(n.nd.c2)::OutputForm])$OutputForm
else
s := hconcat([s, (n.nd.c1)::OutputForm,
(n.nd.c2)::OutputForm])$OutputForm
else
s := hconcat([s,(n.nd.c1)::OutputForm,message("("),_
(n.nd.c2)::OutputForm,message(")")])$OutputForm
if n case vr then
-- variable node so print name
s := (n.vr)::OutputForm
s
Martin B
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.