A short response to the Rebol vs Lisp macros article (gist.github.com) 4 points by ejbs2 10y ago ↗ HN
[–] stray 10y ago ↗ 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 10y ago ↗ 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 10y ago ↗ 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.
[–] ejbs2 10y ago ↗ 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 10y ago ↗ 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.
[–] stray 10y ago ↗ 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.
3 comments
[ 2.9 ms ] story [ 18.0 ms ] threadIf you wanted to carry around your bindings with you and change them through function calls, you'd probably use a special variable.