<tankf33der>
how to use range/3 in select/3 then ?
<tankf33der>
oh, found val/3. ok now.
<Regenaxer>
ok :)
<beneroth>
pilog is hard to wrap your head around, and get all the details right with the calling syntax (quoted list as argument? or is it an fexpr? argh), but when you get it working its just WONDERFUL.
<beneroth>
Regenaxer, are you working or planning in a way to make generating of pilog queries easier (e.g. according to user input) ? I think we spoke about this some time ago. I really want to do advance this.
<beneroth>
(I also need to build/generate pilog queries according to metadata in my additional db layer)
<tankf33der>
beneroth: problem, i didnt follow all yours discussion because i was busy with another picolisp areas
<tankf33der>
beneroth: i need more examples
orivej has quit [Ping timeout: 250 seconds]
<beneroth>
tankf33der, I will try to find some time later today or tomorrow to send you some. Sorry, very busy at the moment.
<beneroth>
no worries mate.
<beneroth>
or post me what you got so far, maybe I can make (later) an example for your actual database
<tankf33der>
beneroth: ok
<beneroth>
bbl
<DKordic>
A n00bish question about Pilog: How to Lift PicoLisp Functions into Pilog?! "-" would be a wonderful example!
<DKordic>
rick42: I wonder what You think?!
orivej has joined #picolisp
<Regenaxer>
ret
<Regenaxer>
beneroth, Pilog is all just patterns, so no fexprs etc :)
<Regenaxer>
DKordic, there *is* a way to call Lisp directly in Pilog
<Regenaxer>
With the '^' predicate
<Regenaxer>
eg (^ @N (+ (foo) (* 3 (bar)))) unifies @N with the result
orivej has quit [Ping timeout: 240 seconds]
rob_w has quit [Quit: Leaving]
<tankf33der>
Regenaxer: question
<tankf33der>
since i have a list
<tankf33der>
for pickup date
<tankf33der>
(rel p (+Bag) ((+Date)) ((+Time)))
<tankf33der>
how to work with this list if i want only time ?
<Regenaxer>
What do you mean with "work"? Not (cadr (: p)) ?
<tankf33der>
but how do cadr (:p) in filter clause inside select ?
<Regenaxer>
With '2'
<tankf33der>
select/2 or what ?
<Regenaxer>
(val @T @Obj p 2)
<tankf33der>
aaaa
<tankf33der>
ok
<tankf33der>
val/3
<Regenaxer>
yes
<tankf33der>
ok
<Regenaxer>
Example (? (select (@Fj) ((hk +Fj {17000})) (val 952 @Fj hk 1 2)))
<Regenaxer>
: (show '{17001})
<Regenaxer>
{17001} (+Fj)
<Regenaxer>
hk (({17000} 952))
<Regenaxer>
sk (({1256} 800) ({12} 152))
<Regenaxer>
bel {B51313}
<Regenaxer>
-> {17001}
<Regenaxer>
The index is 'sk' and 'hk', the objects in the CARs
<Regenaxer>
So it filters exactlt the ones that have 952 in the CADR of the first element
<Regenaxer>
exactly
<tankf33der>
i understand two examples from rosettacode