Ralf Hemmecke wrote:
>
> > t := OrderedVariableList([script(a, [[],[1],[],[]])])
> >
> > (6) OrderedVariableList([a[;1]])
> >
> > Without skipping symbol inside would be 'a[;1;;]'.
>
> OK. I've changed to
>
> coerce(x : %) : OutputForm ==
> not(scripted? x) => outputForm(x pretend Symbol)
> ss : Scripts := scripts x
> rsl : List(L) := [ss.sub, ss.sup, ss.presup, ss.presub]
> sl: L := [commaSeparate z for z in rsl]
> x0 := outputForm(name(x) pretend Symbol)
> x1 := scripts(x0, sl)
> a := ss.args
> empty?(a) => x1
> prefix(x1, a)
>
> and that indeed yields
>
> (1) -> t := OrderedVariableList([script(a, [[],[1],[],[]])])
>
> (1) OrderedVariableList([a[;1;;]])
> Type:
> Type
> (2) -> of := t::OutputForm
>
> 1
> (2) OrderedVariableList([a ])
> Type:
> OutputForm
> (4) -> of pretend SExpression
>
> (4)
> (OrderedVariableList
> (BRACKET (AGGLST (SUPERSUB a (AGGLST) (AGGLST 1) (AGGLST) (AGGLST)))))
> Type:
> SExpression
>
> However, I think that the s-expression looks OK. IMHO that should count
> as a bug in whatever produces "OrderedVariableList([a[;1;;]])".
> But judging from the output of t::OutputForm maybe there is a reason why
> the scripted symbol inside OrderedVariableList is printed in linear
> (instead of 2D) form. Otherwise the two ;; at the end wouldn't be an
> issue at all.
Printinting in linear form is a feature: the same thing should appear
as a type and it is desirable to fit type in one line. In principle
code doing linear format could skip scripts. However:
- this code is in Boot and I prefer to move functionality to Spad
- convention that empty list as a script means omited script is
local to Symbol, so I prefer to handle it here instead of
spreading it to unrelated places.
--
Waldek Hebisch
[email protected]
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.