... This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
... If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

(.using
 [library
  [lux (.except)
   ["$" documentation]
   [data
    ["[0]" text (.only \n)
     ["%" \\injection]]]]]
 [\\library
  ["[0]" /]])

(the .public documentation
  (List $.Documentation)
  (list ($.module /._
                  "")

        ($.definition (/.Object brand))
        ($.definition /.None)
        ($.definition /.Dict)
        ($.definition /.Function)
        ($.definition /.Boolean)
        ($.definition /.Integer)
        ($.definition /.Float)
        ($.definition /.String)

        ($.definition /.the
          "Easily import types, methods, functions and constants."
          ($.example (' (/.the os
                          "[1]:[0]"
                          ("static" F_OK Integer)
                          ("static" R_OK Integer)
                          ("static" W_OK Integer)
                          ("static" X_OK Integer)

                          ("static" mkdir [String] "io" "try" "?" Any)
                          ("static" access [String Integer] "io" "try" Boolean)
                          ("static" remove [String] "io" "try" "?" Any)
                          ("static" rmdir [String] "io" "try" "?" Any)
                          ("static" rename [String String] "io" "try" "?" Any)
                          ("static" listdir [String] "io" "try" (Array String)))))
          ($.example (' (/.the os/path
                          "[1]:[0]"
                          ("static" isfile [String] "io" "try" Boolean)
                          ("static" isdir [String] "io" "try" Boolean)
                          ("static" sep String)
                          ("static" getsize [String] "io" "try" Integer)
                          ("static" getmtime [String] "io" "try" Float)))))

        ($.definition /.function
          (text "Allows defining closures/anonymous-functions in the form that Python expects."
                \n "This is useful for adapting Lux functions for usage by Python code.")
          ($.example (' (is ..Function
                            (function [left right]
                              (do_something (as Foo left)
                                            (as Bar right)))))))
        ))
