login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxFunctor revision 1 of 1

1
Editor: Bill Page
Time: 2011/11/15 07:32:00 GMT-8
Note: new

changed:
-
Gaby described how to obtain the type of a functor. A functor is an "unapplied" domain constructor.  A domain constructor is an expression. So for example 'Complex Integer' is a domain constructor. 'Complex' is the functor.

Example Complex
\begin{axiom}
)boot getConstructorSignature 'Complex
--)boot getConstructorSignature('Complex).target
)boot first getConstructorSignature('Complex)
--)boot getConstructorSignature('Complex).source
)boot first rest getConstructorSignature('Complex)
\end{axiom}

Gaby described how to obtain the type of a functor. A functor is an "unapplied" domain constructor. A domain constructor is an expression. So for example Complex Integer is a domain constructor. Complex is the functor.

Example Complex

fricas
)boot getConstructorSignature 'Complex
(EVAL-WHEN (EVAL LOAD) (PROG () (RETURN (|getConstructorSignature| '|Complex|)))) Value = ((|Join| (|ComplexCategory| |#1|) (CATEGORY |package| (IF (|has| |#1| (|OpenMath|)) (ATTRIBUTE (|OpenMath|)) |noBranch|))) (|CommutativeRing|)) --)boot getConstructorSignature('Complex).target
fricas
)boot first getConstructorSignature('Complex)
(EVAL-WHEN (EVAL LOAD) (PROG () (RETURN (CAR (|getConstructorSignature| '|Complex|))))) Value = (|Join| (|ComplexCategory| |#1|) (CATEGORY |package| (IF (|has| |#1| (|OpenMath|)) (ATTRIBUTE (|OpenMath|)) |noBranch|))) --)boot getConstructorSignature('Complex).source
fricas
)boot first rest getConstructorSignature('Complex)
(EVAL-WHEN (EVAL LOAD) (PROG () (RETURN (CAR (CDR (|getConstructorSignature| '|Complex|)))))) Value = (|CommutativeRing|)