[parenscript-devel] Conditional nesting of lisp and javascript code

Slobodan Milnović slobodan.milnovic at gmail.com
Thu Jun 2 09:33:35 UTC 2011


2011/6/1 Vladimir Sedach <vsedach at gmail.com>:
> Note the ps:ps* there. ps:ps is itself a macro that translates PS code
> to JS at macro-expansion (compile) time, but in this example
> *expand-conditional-splice?* gets bound at run-time. You can use
> ps:ps, but then you have to be careful to set the value of
> *expand-conditional-splice?* correctly before your code gets compiled.
>
> This might seem confusing at first, but the key thing is to learn what
> happens at compile-time, and what happens at run-time. On Lisp has a
> really good introduction to macros and how to think about them:
> http://www.paulgraham.com/onlisp.html

Thank you, it is much clearer now!

So, I'll have to rework my code to see where I can put ps:ps and where
ps:ps*, because I'd prefer most of the code macro-expanded at compile
time. I'm going currentyl through several lisp books, and I have
decided to leave the onlisp for later when I get an better grasp on
things, because when I first started with it, it became too advanced
very fast for one that had no previous experience with lisp.




More information about the parenscript-devel mailing list