"Mike Hansen" <[EMAIL PROTECTED]> writes:

[...]

| * Given a domain like "Polynomial Integer", how do I get the base ring
| "Integer" programatically?  This would be like the base_ring method in
| Sage.

In OpenAxiom, all domain constructors and category constructors are
functions.  Except for Record, Union, and Enumeration, you can ask for
the list of arguments used to instantiated them.  So, what you is that
you first reify the domain into a ConstructorCall, then you take the
arguments to the constructor call.  For example, in your example, I
have

(2) -> arguments reify Polynomial Integer
   (2)  [(Integer)]
                                                            Type: List Syntax


which is the list of arguments -- here '(Integer)' -- used to instantiate 
the constructor Polynomial.

Syntax is a general domain for OpenAxiom syntactic objects.  You can
even reflect a ConstructorCall back into a domain

(3) -> reflect(reify Polynomial Integer)$Domain
   (3)  Polynomial Integer
                                                                 Type: Domain


| * Are constructors like "Polynomial" first class objects?  I can't
| seem to assign "Polynomial" to a variable -- it always wants it to be
| filled in like "Polynomial Integer".

Polynomial is a constructor (even though is it is a function).  In
OpenAxiom, you can pass constructors as arguments to functions, but at
the moment you cannot assign them to variables (a defect that needs
some work to fix).

I am curious about the kind of work you are doing that uses this capability.

-- Gaby

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to