[elephant-devel] Major elephant upgrade

lists at infoway.net lists at infoway.net
Tue Mar 11 18:41:29 UTC 2008


Hi Ian,

Thanks. I just downloaded the latest darcs and will look at it. I've  
been evaluating different querying to propose a syntax.

BTW, in the darcs I downloaded 10 minutes ago, I ran the tests and got:

  Did 421 checks.
     Pass: 420 (99%)
     Skip: 0 ( 0%)
     Fail: 1 ( 0%)

  Failure Details:
  --------------------------------
  THREADED-IDX-ACCESS []:
       Unexpected Error: #<SB-THREAD:JOIN-THREAD-ERROR {12B38DB1}>
Joining thread failed: thread #<THREAD {12B1FEA9}> has not returned  
normally...

During the tests, I got a lot of errors on the threads about Null  
controller.

Thanks,
Daniel

On Mar 11, 2008, at 12:05 PM, Ian Eslick wrote:

> Daniel,
>
> I just promoted a simple sketch of a query interpreter and syntax on  
> the unstable branch that handles queries like:
>
> (query-select #'(lambda (person school) (format t "Person named: ~A  
> at ~A~%" (name person) (name school)))
> 	'(select ((?p person) (?s school))
> 		  (where (and (> (age ?p) 10) (< (age ?p) 25))
> 		         (= ?s (school ?p))
> 		         (string> (name ?s) "Foo")))))
>
> This calls the provided function for all pairs of people and schools  
> for ages between 10 and 25 where the school name is alphabetically  
> greater than "Foo"
>
> If you load and evaluate src/elephant/query-example.lisp you can  
> play with this little hack.
>
> There are absolutely no performance considerations.  It essentially  
> does the search through lisp objects that Robert alluded to.  It  
> maps all instances of person and uses constraints like (= ?s  
> (school ?p)) to create the connection between objects via slot  
> values.  You have to make sure that it can figure out what ?s is  
> before you can use ?s in another expression, so it's pretty  
> restrictive.
>
> Anyway, hopefully this will give you some ideas on how to get started!
>
> Ian
>
>
> On Mar 6, 2008, at 8:23 AM, lists at infoway.net wrote:
>
>>
>> On Mar 4, 2008, at 10:38 PM, Ian Eslick wrote:
>>
>>> = A little query interpreter (Waldo?, Daniel?)
>>> Read sets of oids from indices, implement an efficient in-memory  
>>> sort&merge over oids, and deserialize after the query.  I've  
>>> specified a bunch of this so could provide a set of pointers to  
>>> start.  Looking at some other object query languages and proposing  
>>> a syntax would be a good place to start
>>
>> Will definitely like to pick up on this again. Been doing some more  
>> reading and think should have some time to invest on this.
>>
>> - Daniel
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel




More information about the elephant-devel mailing list