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

From: Nick Malik [Microsoft] <nickmalik_at_hotmail.nospam.com>
Date: Mon, 17 Apr 2006 07:39:07 -0700
Message-ID: <nO-dnZSgN5P7Ot7ZnZ2dnUVZ_vWdnZ2d_at_comcast.com>


"Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message news:ieu0g.60832$VV4.1128713_at_ursa-nb00s0.nbnet.nb.ca...
> Neo wrote:
>>>Prolog also uses linked lists which can be nested. In addition, you can
>>>place structures in the list, and the structures can contain atoms and
>>>lists and "lists of lists" and "lists of lists and atoms," etc. There is
>>>no 'program.' The system is an ordered database of assertions. You
>>>start the logic engine by asking a question. The engine attempts to
>>>answer the question using the information in the database, matching as it
>>>goes, using a depth-first tree search. The underlying math is predicate
>>>calculus and horn clauses. Primitives in the language allow you to
>>>assert data into the database, thus modifying the 'program'. This allows
>>>the system to learn.
>>
>> .
> > the focus of the experimental db is to provide the most flexible
> > method of representing things. I believe I have already surpassed RM.
>
> Idiot. Complexity of structure is not a worthy or useful goal in data
> management.

Hi Bob,

The first quote, above, is an excerpt from my post, not Neo's post. So you are clearly calling one of us an idiot. Not sure who. :-)

I agree that complexity of structure is not a worthy goal. Never said it was. Nor, to the best of my knowledge, did Neo. On the other hand, if the data itself is complex, it's representation should be a simple as possible, but no simpler. I've seen overnormalization ruin a perfectly good database.

Prolog is not an inherently type-safe language. There is no SQL language to assert the data into Prolog's database. These are probably weaknesses, although I'm not sure I've experienced them as such, because the 'database' in a Prolog system is the database of rules that drive the engine, and that database should change slowly, and in a very controlled manner. Don't confuse logic management with data management. That would be a mistake on par with making complexity of structure into a worthy goal.

-- 
--- Nick Malik [Microsoft]
    MCSD, CFPS, Certified Scrummaster
    http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not 
representative of my employer.
   I do not answer questions on behalf of my employer.  I'm just a 
programmer helping programmers.
-- 
Received on Mon Apr 17 2006 - 16:39:07 CEST

Original text of this message