|
|
last edited 16 years ago by gdr |
1 2 3 4 5 6 7 8 9 10 11 | ||
Editor: gdr
Time: 2008/05/28 17:52:23 GMT-7 |
||
Note: category valued functions |
added:
From gdr Wed May 28 17:52:23 -0700 2008
From: gdr
Date: Wed, 28 May 2008 17:52:23 -0700
Subject: category valued functions
Message-ID: <20080528175223-0700@axiom-wiki.newsynthesis.org>
Because the function of categories is to oversee domains,
it is much much harder to have category valued functions
with the current compilation scheme.
In OpenAxiom? one should be able to write a function that returns a 'Category':
axiomST(x:Integer):Category == (x=0 => SetCategory;Type) Function declaration ST : Integer -> Category has been added to workspace.
axiomST(0) Internal Error Interpreter code generation failed for expression (IF (= |#1| 0) |SetCategory| |Type|)
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':
axiomFI(x:Integer):Domain == (x=0 => Float;Integer) Function declaration FI : Integer -> Domain has been added to workspace.
axiomFI(0)
Compiling function FI with type Integer -> Domain ; (DEFUN |*1;FI;1;initial| ...) is being compiled. ;; The variable |*1;FI;1;initial;MV| is undefined. ;; The compiler will assume this variable is a global.
![]() | (1) |
axiomFI(1)
![]() | (2) |