(.using [library [lux {"-" private} ["$" documentation {"+" documentation:}] [data ["[0]" text {"+" \n} ["%" format {"+" format}]]] [macro ["[0]" template]]]] [\\library ["[0]" /]]) (documentation: /.inspection "A best-effort attempt to generate a textual representation of a value, without knowing its type." [(inspection value)]) (documentation: /.representation "A best-effort attempt to generate a textual representation of a value, while knowing its type." [(representation type value)]) (documentation: /.private "Allows access to un-exported definitions in other modules." ["Module A" (def: .private (secret_definition input) (-> ??? ???) (foo (bar (baz input)))) "Module B" ((/.private secret_definition) my_input)]) (documentation: /.log! "Prints/writes a message to standard output." [(log! message)]) (documentation: /.:hole (format "A typed 'hole'." \n "Reveals the type expected of the expression that should go in the hole.") [(: (-> Nat Text) (function (_ number) (:hole))) "=>" .Text]) (documentation: /.here "Shows the names and values of local bindings available around the call to 'here'." [(let [foo 123 bar +456 baz +789.0] (: Any (here))) "=>" "foo: +123" "bar: +456" "baz: +789.0" []] ["Can optionally be given a list of definitions to focus on." "These definitions to focus on can include custom format to represent the values." (let [foo 123 bar +456 baz +789.0] (: Any (here [foo %.nat] baz))) "=>" "foo: 123" "baz: +789.0" []]) (.def: .public documentation (.List $.Module) ($.module /._ "" [..inspection ..representation ..private ..log! ..:hole ..here ($.default /.cannot_represent_value) ($.default /.type_hole) ($.default /.unknown_local_binding)] []))