(.require
 [library
  [lux (.except)
   ["$" documentation]
   [data
    [text (.only \n)
     ["%" \\format (.only format)]]
    [collection
     ["[0]" list]]]]]
 [\\library
  ["[0]" /]]
 ["[0]" /
  ["[1][0]" js]
  ["[1][0]" jvm/type]
  ["[1][0]" lua]
  ["[1][0]" python]
  ["[1][0]" ruby]])

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

                ($.definition /.old)
                ($.definition /.js)
                ($.definition /.jvm)
                ($.definition /.lua)
                ($.definition /.python)
                ($.definition /.ruby)
                ($.definition /.common_lisp)
                ($.definition /.php)
                ($.definition /.r)
                ($.definition /.scheme)

                ($.definition /.Target
                  (format "The name/ID of a platform targetted by a Lux compiler."
                          \n "This information can be used to generate code targetting specific platforms, and to make programs cross-platform."))

                (list.together
                 (list /js.documentation
                       /jvm/type.documentation
                       /lua.documentation
                       /python.documentation
                       /ruby.documentation))
                ))
