# Lexical Scope RETRO has a single dictionary, but does provide a means of using lexical scope to keep this dictionary clean. ## Example ``` {{ 'A var :++A &A v:inc ; ---reveal--- :B ++A ++A @A n:put nl ; }} ``` In this example, the lexical namespace is created with `{{`. A variable (`A`) and word (`++A`) are defined. Then a marker is set with `---reveal---`. Another word (`B`) is defined, and the lexical area is closed with `}}`. The headers between `{{` and `---reveal---` are then hidden from the dictionary, leaving only the headers between `---reveal---` and `}}` exposed. If you wish to hide all headers in a `{{` ... `}}` block, leave out the `---reveal---`. ``` {{ :a #3 ; : b a dup * ; }} ``` ## Notes This only affects word visibility within the scoped area. As an example: ``` :a #1 ; {{ :a #2 ; ---reveal--- :b 'a s:evaluate n:put ; }} ``` In this, after `}}` closes the area, the `:a #2 ;` is hidden and the `s:evaluate` will find the `:a #1 ;` when `b` is run. If you have a `---reveal---` with no definitions following, you will experience memory corruption.