| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Storing data and code in a Db with LISP-like interface
On Mon, 01 May 2006 21:36:58 GMT, Bob Badour wrote:
> Dmitry A. Kazakov wrote:
>
>> On 1 May 2006 08:46:44 -0700, Marshall Spight wrote: >> >>>Alvin Ryder wrote: >>> >>>>Marshall Spight wrote: >>>> >>>>>And anyway, I wouldn't say the RM is the best tool for >>>>>*everything.* Just the best tool for data management. >>>> >>>>Only certain kinds of data, it's not very good for: temporal, spatial, >>>>logic, oo, multimedia, unstructured and document libraries, ... but yes >>>>it has some strengths too. >>> >>>The RM is a practical application of set theory. >> >> The whole CS is. That includes OO (no matter what some proselytes would >> say.)
There is no set operations on objects if they are not sets (=do not expose public set interface) but it is easy to have such. A "Set" ADT is trivial to design. Surely you wouldn't claim that numbers are not based on the set theory, just because they don't have operation "intersect." Intersection of two numbers is not a number. Same is true for most of types of objects.
To be based on X /= implements X
2. Sets of objects
Take any container library. They customary have sets, maps, bags of objects. Note that sets of objects of different types is also possible. These are class-wide containers (ones of polymorphic objects.)
3. Types
This is more challenging and here set theoretical operations are supported at full. To produce new types:
3.a. Union -> Multiple inheritance in virtual bases
3.b. Intersection -> Constrained subtypes, disallowing methods (the most widely used case is T -> const T)
3.c. Join -> Inheritance with adding new methods. (Also much desired, but rarely supported generalization by adding new values.) Lacks of types system in this respect is often circumvented by adding abstract common ancestors.
3.d. Cartesian product: Inheritance with extension (adding new members), record types, multiple inheritance in methods.
I am not sure what you meant under "project."
4. Classes
A class is a closure of a set of types. Isn't it about sets?
5. Sets of types
The generic programming is all about. Examples are templates and classes.
-- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.deReceived on Tue May 02 2006 - 03:21:37 CDT
![]() |
![]() |