Mark H Weaver <m...@netris.org> writes:

> David Kastrup <d...@gnu.org> writes:
>
>> I am not sure that the reasons for not permitting definition context in
>> local-eval are not of somewhat more theoretical than practical nature,
>
> There's at least one practical reason not to allow it, namely that it is
> _impossible_ to implement.  Consider this:
>
>   (let ((x 1))
>     (define (get-x) x)
>     (the-environment))
>
> If we allow (the-environment) to add definitions to the implicit
> `letrec',

Then just let's not allow it.  Consider the body of local-eval to be
wrapped inside of an implicit (begin ...).

Is there any currently valid construct that would change its behavior?
If not, you _gain_ functionality, and the resulting semantics are still
straightforward to explain as far as I can see.

-- 
David Kastrup


Reply via email to