Query progress

"David E. Young" <[email protected]> Thu, 4 Apr 2002 22:06:53 -0500
Newsgroups gmane.lisp.lisa.general
Message-ID <[email protected]>
So, as it turns out delaying the Queries release these past few months 
turned out to be a good thing. Initially I'd devised this caching 
scheme that required a query invocation to supply a name if caching was 
desired; something like:

(retrieve ((?x) :name frodo)
   (?x (hobbit (name frodo))))

This evening I cooked up a scheme that allows transparent caching of 
queries, and even allows for queries that differ by variable name 
alone. For example:

(retrieve (?x)
   (?x (hobbit (name frodo))))

(retrieve (?hobbit)
   (?hobbit (hobbit (name frodo))))

These two invocations would hash to the same query instance, assuming 
I've done my job correctly. I think this is much nicer, and caching 
will yield significant performance gains for queries. The caching 
scheme isn't foolproof yet, and needs more work. However, look for a 
preliminary release RSN.

Cheers,

-- 
------------------------------------------
David E. Young
[email protected]
http://lisa.sourceforge.net

"Those who expect to reap the blessings of liberty
  must undergo the fatigues of supporting it."
   -- Thomas Paine
   "But all the world understands my language."
   -- Franz Joseph Haydn (1732-1809)