Re: Storing data and code in a Db with LISP-like interface

From: Dmitry A. Kazakov <mailbox_at_dmitry-kazakov.de>
Date: Fri, 5 May 2006 11:49:41 +0200
Message-ID: <gbhmc9y2dj2.1hx97rrfcyn72$.dlg_at_40tude.net>


On Thu, 04 May 2006 23:00:18 GMT, Bob Badour wrote:

> Agreed. However, type theory is not the exclusive domain of OO, and OO
> does it particularly poorly.

That depends. Clearly hyper-inaccessible cardinals are not well handled. (:-)) But ADTs have far less problems with set theory as the application domain than RM. Trivial examples are:

  1. Power set operation
  2. Set complement in an infinite universal set
  3. Infinite sets modeled by finite classes of equivalences

This is why, in my original post I quickly skipped the data levels (positions 1-2). ADTs are clean winner, here, by a margin. But this alone is barely relevant to the merits of OO vs. RM. Because set theory is not the application domain of either. The whole argument, "hey, we are the set theory" is absurd.

The meta level (positions 3-) is more interesting. My position is that on the meta level RM represents specialized container types. It would be interesting first to sink it to ordinary types, to have operations x -> {x} ("tables of tables" etc). On the other side it would be interesting to leverage it to sets of types, in order to achieve generic programming. Instead of cursing, just do it better guys, and we all will see that there is no difference between OO and RM.

>> Should it mean that RM is used to solve set-theoretic problems? Are you
>> guys proving continuum hypothesis in SQL, or what? I take my hat off! Alas,
>> my customers have money for other problems, and navigate other spaces...

>
> They navigate the spaces RM pilots best.

I read it as a confirmation that we can finally bury the corpse of "we are the set theory."

>>>>>A supertype is a superset of values
>>>>
>>>>This is a common misconception. The domain set of a supertype is not a
>>>>subset of the domain set of its subtype.
>>>
>>>No, it is a superset. I thought I was clear on that.
>> 
>> OK, you share that misconception.

>
> It is not a misconception. All the values of a subtype are necessarily
> values of the supertype. This makes the supertype a superset of values.
> All of the operations that apply to values of a supertype also apply to
> values of the subtype. This makes the supertype have a subset of operations.
>
> Any type theory that gets the above wrong is for shit.

Where that follows from? In mathematics you can go either way. Is integer number rational? How different pairs (1,1),(6,6) can both be 1? Is (1,0i) integer? Why should anybody worry about it?

> A screw is an application of the simple machine known as a ramp. It is
> not an application of static analysis; although, one can describe some
> functions of a screw using static analysis.

I can only hope that you don't screw your car with books on static analysis!

> Sorry, you will have to do better than make the assertion. Can you point
> to the set theory Dahl and Nygaard cited in the development of Simula?
> Since the word 'class' came from Tony Hoare's proposal for type-safe
> physical pointers, ie. his proposal for a record class in Algol, perhaps
> you can point to the bibiliography where he cited set theory when
> choosing the name? I could not find a bibliography or even the text for
> that article.
>
> On the other hand, Codd's 1970 ACM paper very clearly shows that the RM
> is set theory and his later work establishes the equivalence between
> that set theory and predicate calculus.

You can google for FOL and OO if you are interested in that stuff. Surely any formalization of types systems will position itself relatively to FOL.

>>>One can apply set theory to describe anything,
>> 
>> This is technically wrong. See Hilbert's program.

>
> What about it? Are you suggesting that limitations to a description make
> it any less a description? An incomplete description is still a
> description.

Then you should have formulated it as "to apply X to incompletely describe anything." (BTW, when you describe something as "shit" is that a complete or an incomplete description? (:-))

>>>which is why applying it to data management is so 
>>>appropriate. Applying set theory to the task of describing some ad hoc 
>>>shit doesn't make the ad hoc shit an application of anything.
>> 
>> It is an application of and for the ad-hoc shit. Scatology is a science,

>
> Exactly! And that describes OO to perfection.

Hmm, what if anybody would create an RDB of excrements? I am pretty sure that paleontologists already did...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
Received on Fri May 05 2006 - 11:49:41 CEST

Original text of this message