On Tue, Jul 8, 2008 at 3:06 PM, Gabriel Dos Reis wrote: > > A /category/ is a collection of specifications. A /domain/ is a > collection of implementations. An /object/ is any computational > values in an OpenAxiom program. An object has a representation > given by a domain. An object /o/ is said to have type 'd' if 'd' > implements the reprsentation for the object /o/. > > A category constructor is a category-valued function, defined with > the term 'Category' as its return type. > A domain constructor is a domain-valued function, defined with a > category as its return type. >
All this sounds great to me! :-) > Category contructors and domain constructors may be parameterized > by domains and categories. In Axiom category and domain constructors can be parameterized by values passed as with any other function. These include domains and categories as values. E.g. DirectProductCategory(3,Float) I assume that you did not intend to restrict this use in OpenAxiom. > Furthermore, domains and categories have runtime representations, > e.g. they are reflected as objects in OpenAxiom. In particular, domains > objects have type 'Domain', and category objects have type 'Category'. > And 'Domain' and 'Category' are indeed domains, because they > implement specifications and provide object representations. > Agreed. > > I did not discuss the notion of /package/, as it is almost like > a domain -- it implements specifications -- except that it does not > provide object representation. > Right. Thanks Gaby. What do propose for Type? Do we ever need to be able to write? x:Type := Integer or define a constructor that takes parameters from Type? If so does the domain: Union(Domain,Category) make sense? Is it too awkward? Regards, Bill Page. ------------------------------------------------------------------------- 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