Mauro <[email protected]> wrote:

> If I understand correctly, you argue that all global bindings should
> be declared in the (lexical) global scope.  An inner scope could then
> use that binding by using `global`.  But new global bindings could not
> be created in local scopes.  I think that would functionally be
> equivalent to the current status.  I have no feeling about which would
> be superior syntactically.

  Right. It's the implicit creation of new bindings that I dislike. Or
  rather, the fact that sometimes new bindings are created, sometimes
  not, depending on the context.

>> 2. also, technically, your lexical closure isn't required for the
>> function itself, but for the particular method you're defining. But I
>> guess there's no way of declaring an empty generic function?
>
> function foo end

  Oh! So, it's exactly that. Your previous example:

let tunnel_port = 9201
    global next_tunnel_port
    function next_tunnel_port()
        # ...
    end
end

can actually also be written like this:

function next_tunnel_port end
let tunnel_port = 9201
    function next_tunnel_port()
        # ...
    end
end


-- 
ELS'16 registration open! http://www.european-lisp-symposium.org

Lisp, Jazz, Aïkido: http://www.didierverna.info

Reply via email to