
A short response to the Rebol vs Lisp macros article - ejbs2
https://gist.github.com/ejbs/813fa9db68dae598064037313323f3a3
======
stray
An even briefer response:

    
    
        (defun greater10 (value code)
          (when (> value 10)
            (apply (car code)
                   (cdr code))))
    
        (let ((msg "Hello"))
          (greater10 20 `(format t "~a~%" ,msg)))

~~~
ejbs2
That's not really equivalent to what Rebol does or what my stuff does. What do
you do when you want to unbind msg? Or when you want to carry around your
bindings with you and change them through function calls?

~~~
stray
If you wanted to unbind msg, you wouldn't have bound it in a let block.

If you wanted to carry around your bindings with you and change them through
function calls, you'd probably use a special variable.

