Version 8 (modified by archibald, 8 years ago) (diff)

--

Table of Contents

    Namespaces

    We need to create name spaces.

    Namespaces are

    • commonly structured as hierarchies to allow reuse of names in different contexts.
    • typically employed for the purpose of grouping symbols and identifiers around a particular functionality and to avoid name collisions between multiple identifiers that share the same name.
    • hierarchical, ie sets of namespaces can be nested within another namespace

    To store namespaces we need a structure similar to that detailed below ... explaination of the notation

    NAMESPACE $project:tdx - $system:lang
    
      SINGLETON design
        namespace ourNameSpaces = NEW namespace("system")
    
      CLASS namespace(ubyte$ name)
        namespace{} subSpaces
        
        namespace(namespace) addNamespace(newNameSpace) =
        {
          subSpaces->add(newNameSpace)
          RETURN newNameSpace
        }
    

    Attachments