(.using
  [library
   [lux "*"
    ["$" documentation {"+" documentation:}]
    [control
     ["<>" parser
      ["<[0]>" code]]]
    [data
     ["[0]" text {"+" \n}
      ["%" format {"+" format}]]]
    [macro
     ["[0]" template]]]]
  [\\library
   ["[0]" /]])

(documentation: (/.Program !)
  "Access to ambient program data and the capacity to exit the program.")

(documentation: /.environment
  "Assembles the environment variables available to the program."
  [(environment monad program)])

(documentation: /.mock
  ""
  [(mock environment home directory)])

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [..Program
             ..environment
             ..mock
             ($.default /.unknown_environment_variable)
             ($.default /.async)
             ($.default /.default)]
            []))
