Nice! Thank you, Alex! On Mon, 26 Jul 2021 05:45 -04:00, Alexander Burger wrote: > Hi all, > > since version 21.7.25 PicoLisp supports a new syntax for calling Lisp code in > Pilog rules. > > As before, the predicate '^' evaluates Lisp expressions inside Pilog code: > > : (? (^ @X (println 'OK))) > OK > @X=OK > > Traditionally, Pilog variables can be accessed with the '->' function: > > : (? @A 3 > (^ @B (inc (-> @A))) ) > @A=3 @B=4 > > : (? @A 3 @B 4 > (^ @N (* (+ (-> @A) (-> @B)) (- (-> @A) (-> @B)))) ) > @A=3 @B=4 @N=-7 > > Now these variables are automatically *bound* before the Lisp code is > evaluated, > so that the following works: > > : (? @A 3 > (^ @B (inc @A)) ) > @A=3 @B=4 > > : (? @A 3 @B 4 > (^ @N (* (+ @A @B) (- @A @B))) ) > @A=3 @B=4 @N=-7 > > The new syntax is shorter and a lot more readable. > > The old syntax continues to work, and '->' is till needed for calls like > > (-> @A 3) > > to access non-top-level Pilog environments. > > ☺/ A!ex > > -- > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe >
-- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe