I think you actually misunderstand the difference in
http://en.wikipedia.org/wiki/Closure_%28computer_science%29#Differences_in_semantics
The way I read if the difference is wether it returns from the closure
function or the surrounding function *calling* it. Not the *defining* scope.
And no, it doesn't make sense in the PHP context IMHO.
- Chris
"returns from the closure function"
To go were?
I had maintain a smalltalk compiler.
I did not misunderstand the difference.
The Common Lisp implementation is the more explicit one.
For exemple:
(defun eval-l1 (fct) (funcall fct))
(defun bar (x) (eval-l1 #'(lambda () (return-from bar 45)))
x)
(bar 23) -> 45
When funcall is apply you do not return from eval-l1. You return from bar.
Which is the defining scope of the lanbda.
-- Mathieu Suen