Howdy,
When I define
(1) -> a:Category := Ring
Category is a category, not a domain, and declarations require
domains.
But this works,
(1) -> a:Domain:=Ring
(1) Ring
Type: Category
Ring is not a domain, and the result also shows this.
What bring more confusion are:
(1) -> f:()->Category:=()+->Ring
(1) theMap(*0;anonymousFunction;8;frame3222;internal)
Type: (() -> Category)
(2) -> f()
(2) Ring
Type: Category
(1) -> f:()->Domain:=()+->Ring
Internal Error
Interpreter code generation failed for expression|Ring|
while
)abbrev domain FOO Foo
Foo(): Public == Private where
Public ==> with
f1: () -> Domain
f2: () -> Domain -- compilation failed if "Category" used here!!
Private ==> add
f1 == Integer
f2 == Ring
(2) -> f1()
(2) Integer
Type: Domain
(3) -> f2()
(3) Ring
Type: Domain
As a conclusion, there are at least five points confusing:
1. a:Domain:=Ring works
2. the result has type Category
3. ()->Category works in interpreter, but not compiler
4. ()->Domain works in compiler, but not interpreter.
5. f2 == Ring. the return type is Domain.(compare with 2)
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel