Hi dean, It's not clear what you're asking. Does this help explain it?
http://software-lab.de/doc/tut.html --- from the page --- Anonymous functions without the lambda keyword There's no distinction between code and data in PicoLisp, quote will do what you want (see also this FAQ entry). : ((quote (X) (* X X)) 9) -> 81 : (setq f '((X) (* X X))) # This is equivalent to (de f (X) (* X X)) -> ((X) (* X X)) : f -> ((X) (* X X)) : (f 3) -> 9 --- end from the page --- And http://software-lab.de/doc/ref.html "The most prominent read-macro in Lisp is the single quote character "'", which expands to a call of the quote function. Note that the single quote character is also printed instead of the full function name." --- In other words, quote is allowing you to define an anonymous function equivalent to (function(x) { return x*x })(9) (in javascript for example) On Mon, Nov 21, 2016 at 3:37 PM, dean <[email protected]> wrote: > I could do with some help understanding step by step what's happening > here... > > Intuitively I can see that 9 squared is 81 but I can't really see, > precisely, what this was doing > > ((quote (X) (* X X)) 9) > -> 81 > > so I put it in a function in a file to trace it > > (de go () > ((quote (X) (* X X)) 9) > ) > > but it's not giving me the step by step explanation I was hoping for > > : (trace go) > !? (method "X" C) > (('((X) (* X X)) 9)) -- Symbol expected > ? > > Any help to understand what's happening at each stage would be very much > appreciated. > > Thank you in anticipation. -- UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe
