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

Edit detail for #424 Interpreter code generation failed revision 1 of 11

1 2 3 4 5 6 7 8 9 10 11
Editor: Bill Page
Time: 2008/05/28 17:06:58 GMT-7
Note:

changed:
-
In OpenAxiom one should be able to write a function that returns a 'Category':
\begin{axiom}
ST(x:Integer):Category == (x=0 => SetCategory;Type)
\end{axiom}

but we get the error message::

   Internal Error
   Interpreter code generation failed for expression
      (IF (= |#1| 0) |SetCategory| |Type|)

This is ok for functions that return 'Domain':
\begin{axiom}
FI(x:Integer):Domain == (x=0 => Float;Integer)
FI(0)
FI(1)
\end{axiom}

Submitted by : Bill Page at: 2008-05-28T17:06:58-07:00 (15 years ago)
Name :
Axiom Version :
Category : Severity : Status :
Optional subject :  
Optional comment :

In OpenAxiom? one should be able to write a function that returns a 'Category':

axiom
ST(x:Integer):Category == (x=0 => SetCategory;Type) Category, domain or package constructor Category is not available.

but we get the error message:

   Internal Error
   Interpreter code generation failed for expression
      (IF (= |#1| 0) |SetCategory| |Type|)

This is ok for functions that return 'Domain':

axiom
FI(x:Integer):Domain == (x=0 => Float;Integer) Domain is not a valid type. FI(0) There are no library operations named FI Use HyperDoc Browse or issue )what op FI to learn if there is any operation containing " FI " in its name. Cannot find a definition or applicable library operation named FI with argument type(s) NonNegativeInteger Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. FI(1) There are no library operations named FI Use HyperDoc Browse or issue )what op FI to learn if there is any operation containing " FI " in its name. Cannot find a definition or applicable library operation named FI with argument type(s) PositiveInteger Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.