Re: clarification on lexical scopes needed - why parameter name 'args breaks things? + how to define new piLog predicates ?

2022-05-10 Thread Jason Vas Dias
Good day - I'd still love to hear some explanation about how the global '(pico~args)' symbol gets blown out by a function parameter named 'args', not within that function, but within a function it calls. Also, how does one define new piLog Predicates ? I'm trying to create a Database of APKs :

Re: clarification on lexical scopes needed - why parameter name 'args breaks things? + how to define new piLog predicates ?

2022-05-10 Thread Alexander Burger
Hi Jason, > I'd still love to hear some explanation about how > the global '(pico~args)' symbol gets blown out > by a function parameter named 'args', not within > that function, but within a function it calls. OK, right, this is an important question. It is in fact one of the core features of th

Re: clarification on lexical scopes needed - why parameter name 'args breaks things? + how to define new piLog predicates ?

2022-05-10 Thread Jason Vas Dias
I am also finding that when I run a function that calls '(solve ...) , it works the first few times, but after a few calls, it stops returning any ext symbols. Why ? I have read all documentation I can find on pil Database & piLog (best is doc/select.html), but I cannot find any answers. If I hav

Re: clarification on lexical scopes needed - why parameter name 'args breaks things? + how to define new piLog predicates ?

2022-05-10 Thread Jason Vas Dias
Actually, it appears to be after the first time I call '(for x (qry)(...)) where 'qry is a function that calls '(solve ...), then the solve function stops working: APK: (de G4S_APKS () (solve (quote @FLV "G4S_PRF" @VER (cons 302010010) (select (@APK) ( (flv +APK @FLV) (vrn +APK @VER) ) (same @FLV

Re: clarification on lexical scopes needed - why parameter name 'args breaks things? + how to define new piLog predicates ?

2022-05-10 Thread Alexander Burger
On Tue, May 10, 2022 at 06:30:47PM +0200, Alexander Burger wrote: > oohh, I'm very sorry. I must give up here. This needs 20 pages of fixes and > explanations ;) - +Idx makes only sense on Strings - +Idx indexes substrings. Is that always meaningful here? - Do you really need so many indexes? (c

Re: clarification on lexical scopes needed - why parameter name 'args breaks things? + how to define new piLog predicates ?

2022-05-10 Thread Jason Vas Dias
I guess for a short term fix, I will have to write a function that calls '(collect 'tree +APK ...) without use of piLog's '(solve ...), then do a manual join + filter on the results of each list, because use of piLog's '(solve ...)' is unreliable ? There is no mention in the '(solve ...) document

Re: clarification on lexical scopes needed - why parameter name 'args breaks things? + how to define new piLog predicates ?

2022-05-10 Thread Alexander Burger
On Tue, May 10, 2022 at 07:48:16PM +0100, Jason Vas Dias wrote: > I guess for a short term fix, I will have to write a function > that calls '(collect 'tree +APK ...) without use of piLog's '(solve ...), Yes, that's easier for the moment. (needs a ' bofore +APK btw). > because use of piLog's '(s