BETA libraries and programs are organized in a hierarchical module structure. This structure is mapped to a hierarchical directory- and file structure. The modules are named using reverse URL's. The organization of modules is inspired by the organization of Java packages.

BETA World currently consists of the following modules:

  • BETAworld: The top module of the new BETA system. It is currently located as a subdirectory of the compiler directory  - for BETA in $BETAENV/MiniSystem/miniCompiler, and for qBeta in $BETAENV/MiniSystem/qbeta.
    • BETA: The core elements of the BETA libraries.
    • LIB: The basic libraries of BETA
    • dk: Example libraries from Danish organizations
    • org: Example libraries from org-domains.
    • workspace: A working module for local programs

A BETA program must have a file extension '.bet' and a qBeta program must have a file extension '.xbeta'.

BETAworld is constantly evolving - too se the actual content, you have to inspect the current BETAworld library.

The directory structure of BETAworld determines the navigation structure of the BETA browser.

Example 

If you want to create a qBeta program called FooBar you have to create a subdirectory of e.g. workspace - the subdirectory must have the same name as you program - in this case FooBar.

The FooBar directory must then contain a file called FooBar.xbeta with the following content.

FooBar: =
    ...
    "Hello from FooBar\n".print
   ...

Thus the following structure:

   BETAworld               -- directory
      workspace            -- directory
         FooBar            -- directory
            FooBar.xbeta   -- file

The same structure must be used when creating a BETA program except that the file extension is '.bet' and that the file must follow the syntax of standard BETA.