Escopo Léxico e Bindings no Clojure


O escopo léxico criado pelo let estabelece um novo contexto para nomes, aninhado dentro do contexto que o rodeia.

Precedência: Nomes definidos dentro de um let têm prioridade sobre nomes idênticos definidos no contexto externo (fenômeno conhecido como shadowing).

Ciclo de Vida: As vinculações locais existem apenas enquanto a expressão let está sendo avaliada.

Resolução de Símbolos: Fora do bloco let, os símbolos vinculados perdem seu significado local, a menos que já possuíssem uma definição prévia no contexto externo.

Se houver uma tentativa de acessar um símbolo fora do seu escopo léxico, o compilador reportará um erro.

Referências


https://clojure.org/guides/learn/functions#_let