Re: Storing data and code in a Db with LISP-like interface
Date: Tue, 2 May 2006 10:21:37 +0200
Message-ID: <as970wsx9wcy.1p4v2jfb3hzxw$.dlg_at_40tude.net>
On Mon, 01 May 2006 21:36:58 GMT, Bob Badour 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.)
>
> That's interesting. What OO language supports basic set operations on
> object, classes or whatever? Where is the OO union? Intersect? Join?
> Cartesian product? What is the OO equivalent to project?
- Objects
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.
P.S. Carefully observe 3-5. This is what RM implementations usually lack
and why OO became more popular. Think about tables of tables and operations
defined on them. That would be an RM equivalent of generic programming.
-- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.deReceived on Tue May 02 2006 - 10:21:37 CEST