The code for these namespaces is included directly in the Planck binary, so they are always available—you just need to
These namespaces comprise
To explore these namespaces, you can evaluate
(dir planck.core), for example, to see the symbols in
planck.core, and then use the
doc macro to see the docs for any of the symbols.
Online documentation for the namespaces is available: Planck SDK.
This namespace includes basic I/O capabilities like
read-line. The I/O facilities are expressed in protocols defined in
planck.core modeled after those in Clojure, like
IOutputStream, etc., and these capabilities cooperate with facilities defined in
Planck core also hosts some dynamic vars of interest like
planck.core/file-seq function imitates
If you need to prompt for a password, take a look at
eval and other dynamic functions like
planck.core/exit is a function that takes an integer
exit-value argument, so you can cause a Planck script to exit with any desired Unix exit value.
This namespace includes a few macros that are useful when working at the REPL, such as
This namespace defines a lot of the
IOFactory machinery, imitating
Additionally, filesystem facilities like
file-attributes are available.
This namespace imitates
clojure.shell, and defining the
sh function and
with-sh-env macros that can be used to execute external command-line functions.
With this escape hatch, you can do nearly anything: Move files to remote hosts using
This namespace provides facilities for interacting with HTTP servers. For example:
will fetch the main page of the Planck website, returning the status code, headers, and body in a map structure.