Alessio Stalla <alessiostalla@...> writes:
On Wed, May 25, 2011 at 4:45 PM, Matthew Swank
<akopa.gmane.poster@...> wrote:
Pascal Costanza <pc@...> writes:
On 25 May 2011, at 04:51, Matthew D. Swank wrote:
However, consider the following:
((returns-a-function) arg arg ...)
Would it be reasonable to allow this as a legal form as well?
While in principle I like such a thing, I think it doesn't play well
with Lisp-2 (or more specifically, with Common Lisp). If ((whatever)
...) is a valid expression, then one would expect (let ((foo
(whatever))) (foo ...)) to be equivalent, but it's not. And you can't
use flet/labels for the same effect.
Well, let bindings could be extended to use an operator to specify the namespace:
(let (((function foo) (lambda (arg ...) ...))
(bar (lambda (arg ...) ...)))
(foo ...)
(funcall bar ...))
and flet/labels would transform into a generalized let binding.
This would make the standard transformation of let -> function call a little
problematic, however.
I suppose at the bottom of all this is an implied primitive binding operator for
operators: perhaps flambda!
Matt
_______________________________________________
pro mailing list
pro@common-lisp.nethttp://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro