ATS では、静的ロード (もしくは staload と略します) はロードされるパッケージ中で宣言された名前に対する名前空間を生成します。
foo.sats という名前のファイルが次のコードを含んでいると考えます:
次の staload 宣言は、foo.sats で宣言された名前のために、名前空間 FOO を導入します: 名前空間 FOO 中の名前を参照するために、接頭辞 $FOO. が必要です。 例えば、名前空間 FOO 中で有効な名前は、次のようなコードで参照できます:もしファイル foo.sats を次のように2度 staload した場合:
すると foo.sats は実際にはコンパイラによってロードされません。 その代わり、FOO の別名として FOO2 が単に作られます。foo.sats は次のようにも staload できます:
この場合、foo.sats で宣言した名前のための名前空間はオープンです。 例えば、次のコードはこれらの名前を直接参照できることを示しています:次のような宣言を考えてみましょう:
二番目に出現する aValue は最初の宣言で導入された値を参照するでしょうか? それとも、それは foo.sats 中で宣言された値を参照するでしょうか? その答は少し意外なものかもしれません: それは最初の宣言で導入された値を参照します。 ATS は最初に、同一ファイル中で宣言された有効な名前を検索することで、名前の束縛を解決するからです。