matz / ruby-lang.org (Yukihiro Matsumoto) writes:

> Hi,
>
> In message "Re: Symbols: More Functionality Wanted"
>     on 03/01/24, Matt Armstrong <matt / lickey.com> writes:
>
> |> Binding#add doesn't sound right if the symbol you're binding already
> |> has a binding.
> |
> |The problem is that Binding is the wrong name for the class.  A
> |variable binding associates a variable with a value, but the Binding
> |class represents a collection of bindings.  E.g. this seems right:
> |
> |    Binding.new(symbol, value)
>
> I consider "binding" as "a collection of bindings" in your term.
> For example, when we say "Emacs key binding", it means "a collection
> of key-function bindings very similar to one of Emacs".  Am I wrong?

I think so.  That sounds strange in English.  It is like saying an
"object" is a "collection of objects."

To take Emacs, the documentation refers to a keymap as a collection of
key bindings, and each key has a single binding:

    The bindings between key sequences and command functions are
    recorded in data structures called "keymaps".

    A key sequence gets its meaning from its "binding", which says
    what command it runs.

The computer science text books I have call the data structure used in
an interpreter that maps variable names to values an "environment" and
a single name->value pair a "binding."