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

Edit detail for #425 confusion over Category revision 9 of 13

1 2 3 4 5 6 7 8 9 10 11 12 13
Editor: gdr
Time: 2008/05/28 22:06:22 GMT-7
Note: domains belong to Category

added:

From gdr Wed May 28 22:06:22 -0700 2008
From: gdr
Date: Wed, 28 May 2008 22:06:22 -0700
Subject: domains belong to Category
Message-ID: <20080528220622-0700@axiom-wiki.newsynthesis.org>

OpenAxiom trunk as of 2008-05-29 says this:

(1) -> Category has Category
(1) ->
   (1)  true
                                                                Type: Boolean
(2) -> Domain has Category
(2) ->
   (2)  true
                                                                Type: Boolean
(3) -> Category has Type
(3) ->
   (3)  true
                                                                Type: Boolean


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

The file algebra/domain.spad.pamphlet contains this definition:

  )abbrev domain CATEGORY Category
  ++ Author: Gabriel Dos Reis
  ++ Date Create: February 16, 2008.
  ++ Date Last Updated: February 16, 2008.
  ++ Basic Operations: coerce
  ...

but OpenAxiom? does not always treat Category this way:

axiom
)show Category Category is a domain constructor Abbreviation for Category is CATEGORY This constructor is not exposed in this frame. Issue )edit /usr/local/lib/open-axiom/x86_64-unknown- linux/1.2.0-2008-05-25/src/algebra/CATEGORY.spad to see algebra source code for CATEGORY ------------------------------- Operations -------------------------------- coerce : % -> OutputForm

axiom
Category
LatexWiki Image(1)
Type: Type

axiom
x:Category Category is a category, not a domain, and declarations require domains.

axiom
Category has Category
LatexWiki Image(2)
Type: Boolean
axiom
Domain has Category
LatexWiki Image(3)
Type: Boolean
axiom
Category has Type
LatexWiki Image(4)
Type: Boolean

Axiom Version: => /usr/local/lib/open-axiom/x86_64-unknown-linux/1.2.0-2008-05-25

category regression --gdr, Wed, 28 May 2008 17:55:47 -0700 reply
hat is a regression, because the rest of the compiler and interpreter assumes that Category is conceptually a category -- even when it has a domain implementation.

gdr wrote:
  Category is conceptually a category -- even when it has a domain implementation

Could you please explain what that means? :-)

At the conceptual level, OpenAixom? thinks of Category as a category. The category of categories. However, it has a domain implementation, e.g. as reported by )show. That is just an implementation detail.

domains belong to Category --gdr, Wed, 28 May 2008 22:06:22 -0700 reply
OpenAxiom? trunk as of 2008-05-29 says this:

(1) -> Category has Category (1) -> (1) true Type: Boolean (2) -> Domain has Category (2) -> (2) true Type: Boolean (3) -> Category has Type (3) -> (3) true Type: Boolean