Hi Waldek,

Thank you for your response.

On 05/25/2014 03:32 PM, Waldek Hebisch wrote:
> There is 'HasCategory' function in 'interop.boot'.  The first argument
> has to be fully evaluated domain (that is domain vector).

Of course, I don't have a "fully evaluated domain". All I have is an
SExpression. I am wondering whether I can access the domain vector
similar to what I you once told me for i-output

  charybdisFromSPAD(u,start,linelength) ==
    dom := '(Algebra2dFormatter)
    charybdisFn :=
getFunctionFromDomain("charybdis",dom,[$OutputForm,'(Integer),'(Integer)])
    SPADCALL(u,start,linelength,charybdisFn)

I.e. for a domain form like (Integer) how would I get the respective
domain vector that I can use for HasCategory.

> Currently HyperDoc uses all or nothing approach: if you gives all
> arguments to a constructor HyperDoc will evaluate the constructor
> and give unconditional results.  Otherwise conditions remain
> unevaluated.

Oh, then maybe, I can get better. (If I solve that little problem here.)

> There is code in compiler to simplify conditions,
> but that is tricky (you may look at 'InvestigateConditions' in
> 'functor.boot').

That looks pretty complicated. Maybe, I've something not yet stumpled
over, but currently, if I can just deal with has-expressions together
with AND, OR, NOT, that would certainly already cover 90% (or more) of
the cases. All I have to do is to simplify such logical expressions if
one argument is T.

> Conditions are "almost" executable Lisp code (they are transformed
> a bit but this does not change main thing).

For me, it's enough, to turn the given if-then-else expressions into
AND,OR,NOT expression. That was not my invention. I saw it done in some
other place in the (I think, HyperDoc) code.

Concerning %...

Maybe, for my case, it's enough to replace it with the respective domain
expression. I just realize that I might have a bug in my code that deals
with inherited % in signatures. I'll probably come to that later.

Ralf

-- 
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.

Reply via email to