]> git.lizzy.rs Git - metalua.git/blob - doc/manual/declare-globals-ref.tex
fix CRLF
[metalua.git] / doc / manual / declare-globals-ref.tex
1 \section{Extension {\tt declare\_globals}: mandatory declaration of global
2   variables}
3 There is a {\tt strict} library in Lua, also provided by metalua, which
4 complains when one tries to access a global variable which hasn't been
5 initialized, and when a global variable is initialized anywhere but at the
6 program's top-level. This catches many errors, especially typos on variable
7 names. 
8
9 However, with a macro-enabled language, we can do slightly better: we add a {\tt
10   global} keyword, which works as {\tt local}, allows to declare global
11 variables, which can subsequently be used freely. Undeclared global variables
12 cause an error when one tries to read or write them.
13
14 FIXME: need a ``global function ...'' syntax; interactions with sub-modules is
15 not tested correctly.