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