In addition to clojure.core
, clojure.set
, clojure.edn
, clojure.string
,
clojure.walk
, clojure.data
, clojure.test
and clojure.pprint
, nbb exposes
the following namespaces:
*file*
: dynamic var representing the currently executing file.(load-file f)
: reads contents of file f and then handles it usingload-string
.(load-string s)
: asynchronously parses and evaluatess
, returns result as promise.(slurp f)
: asynchronously slurps contents of file to string, returns result as promise.(time body)
: Macro which times async code.
(repl), (repl opts)
: starts REPL which reads from stdin and prints to stdout. Returns promise which is resolved when input is closed.(socket-repl), (socket-repl opts)
: starts REPL which reads from socket and writes to socket. Accepts optionalopts
map with:port
. Returns promise which is resolved when input is closed.
(print-error-report e)
: print error report. Example:(try (assoc :foo :bar) (catch ^:sci/error js/Error e (nbb.error/print-error-report e)))
See the babashka.cli API.
See promesa docs.
*loop-run-fn*
,->
,->>
,TimeoutException
,all
,any
,as->
,bind
,cancel!
,cancelled?
,catch
,catch'
,chain
,chain'
,create
,deferred
,deferred?
,delay
,do
,do!
,done?
,err
,error
,finally
,future
,handle
,let
,loop
,map
,mapcat
,pending?
,plet
,promise
,promise?
,promisify
,race
,recur
,reject!
,rejected
,rejected?
,resolve!
,resolved
,resolved?
,run!
,then
,then'
,thenable?
,timeout
,with-redefs
,wrap
See reagent docs.
atom
,as-element
,with-let
,cursor
,create-class
,create-compiler
with-let-values
,reactive?
render-to-string
,render-to-static-markup
See js-interop docs.
get
,get-in
,contains?
,select-keys
,lookup
,assoc!
,assoc-in!
,update!
,extend!
,push!
,unshift!
,call
,apply
,call-in
,apply-in
,obj
,let
,fn
,defn
,lit
format-lines
,summarize
,get-default-options
,parse-opts
,make-summary-part
write
,writer
,write-handler
,write-meta
,read
,read
,read-handler
,tagged-value
bean
,bean?
,object
,->js
,->clj