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

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

            ($.definition /.co_prime?)
            ($.definition /.even?)
            ($.definition /.odd?)
            ($.definition /.frac)
            ($.definition /.equivalence)
            ($.definition /.order)
            ($.definition /.enum)
            ($.definition /.interval)
            ($.definition /.addition)
            ($.definition /.multiplication)
            ($.definition /.minimum)
            ($.definition /.maximum)
            ($.definition /.binary)
            ($.definition /.octal)
            ($.definition /.hex)
            ($.definition /.decimal)
            ($.definition /.hash)

            (,, (with_template [<name> <documentation>]
                  [($.definition <name>
                     <documentation>)]

                  [/.= "Nat(ural) equivalence."]
                  [/.+ "Nat(ural) addition."]
                  [/.- "Nat(ural) substraction."]
                  [/.< "Nat(ural) less-than."]
                  [/.<= "Nat(ural) less-than or equal."]
                  [/.> "Nat(ural) greater-than."]
                  [/.>= "Nat(ural) greater-than or equal."]
                  [/.* "Nat(ural) multiplication."]
                  [/./ "Nat(ural) division."]
                  [/./% "Nat(ural) [division remainder]."]
                  [/.% "Nat(ural) remainder."]
                  ))

            (,, (with_template [<name> <doc>]
                  [($.definition <name>
                     <doc>)]

                  [/.min "Nat(ural) minimum."]
                  [/.max "Nat(ural) maximum."]
                  ))

            ($.definition /.gcd
              "Greatest Common Divisor.")

            ($.definition /.lcm
              "Least Common Multiple.")
            )))
