hara.lang

!

macro

added in 4.0

(! tag body)

switch between defined annex envs

add-listener

added in 4.0

(add-listener notify id sink-key f)

adds a listener to the sink

annex-current

added in 4.0

(annex-current)(annex-current ns)

gets the current annex. May not exist

(annex/annex-current) => any?

annex-reset

added in 4.0

(annex-reset)(annex-reset ns)

resets the current annex

annex:get

added in 4.0

(annex:get tag)(annex:get tag ns)

gets the runtime associated with an annex

annex:list

added in 4.0

(annex:list)(annex:list ns)

lists all annexs

annex:restart-all

added in 4.0

(annex:restart-all)(annex:restart-all ns)

stops and starts all annex runtimes

annex:start

added in 4.0

(annex:start tag)(annex:start tag ns)

starts an annex tag

annex:start-all

added in 4.0

(annex:start-all)(annex:start-all ns)

starts all the annex tags

annex:stop

added in 4.0

(annex:stop tag)(annex:stop tag ns)

stops an annex tag

annex:stop-all

added in 4.0

(annex:stop-all)(annex:stop-all ns)

stops all annexs

as-lua

added in 4.0

(as-lua input)

strip nils for lua expectations without changing collection shape

basic-typed-args

added in 4.0

(basic-typed-args args)

typed args without grammar checks

(mapv (juxt meta identity) (basic-typed-args ’(:int i, :const :int j))) => ’[[{:- :int} i] [{:- :const :int} j]]

clear-sink

added in 4.0

(clear-sink {:keys [sinks]} id)

clears a sink

compile-module-specialization

added in 4.1

(compile-module-specialization descriptor)

installs and compiles a specialized module descriptor

compile-module-specializations

added in 4.1

(compile-module-specializations descriptors)(compile-module-specializations descriptors opts)

installs and compiles a batch of module specialization descriptors

default-library

added in 4.0

(default-library & [override])

gets the default library

default-library:reset

added in 4.0

(default-library:reset & [override])

clears the default library, including all grammars

default-notify

added in 4.0

(default-notify)

gets the default notify server

(notify/default-notify)

default-notify:reset

added in 4.0

(default-notify:reset)

resets the default notify server

defmacro.!

macro

added in 4.0

(defmacro.! sym args & body)

macro for runtime lang macros

defspec.xt

macro

(defspec.xt spec-sym & body)

delete-entry!

added in 4.0

(delete-entry! lib {:keys [lang module section id], :as m})

deletes an entry from the library

delete-module!

added in 4.0

(delete-module! lib lang module-id)

deletes a module from the library

delete-modules!

added in 4.0

(delete-modules! lib lang module-ids)

deletes a bunch of modules from the library

emit-as

added in 4.0

(emit-as lang forms & [meta])

helper function for emitting multiple forms

emit-entry

added in 4.0

(emit-entry grammar entry {:keys [snapshot module emit], :as mopts})

emits a given entry

emit-entry-deps

added in 4.0

(emit-entry-deps {:keys [lang module id], :as ptr} {:keys [library], :as meta})

emits only the entry deps

emit-main

added in 4.0

(emit-main form grammar mopts)

creates the raw emit with loop

(emit/emit-main ’(not (+ 1 2 3)) +grammar+ {}) => “!(1 + 2 + 3)”

emit-module

added in 4.0

(emit-module)(emit-module lang-or-rt)(emit-module lang-or-rt module-id)

emits the entire module

emit-ptr

added in 4.0

(emit-ptr ptr & [opts])

emits the poiner as a string

emit-script

added in 4.0

(emit-script form {:keys [library lang emit], :as meta})

emits a script with all dependencies

emit-str

added in 4.0

(emit-str form meta)

converts to an output string

emit-symbol

added in 4.0

(emit-symbol lang sym & [mopts])

emits string given symbol and grammar

emit-type-record

added in 4.0

(emit-type-record {:keys [modifiers symbol]})

formats to standard

force-reload

added in 4.0

(force-reload ns lang)

forces reloading of all dependent namespaces

get-book

added in 4.0

(get-book lib lang)

gets a book from library

get-book-raw

added in 4.0

(get-book-raw lib lang)

gets the raw book, without merge

(b/list-entries (lib/get-book-raw +library+ :lua.redis)) => empty?

(b/list-entries (lib/get-book +library+ :lua.redis)) => coll?

(b/list-entries (lib/get-book +library+ :lua.nginx)) => coll?

get-entry

added in 4.0

(get-entry m)

gets the entry if pointer

get-module

added in 4.0

(get-module lib lang module-id)

gets a module from library

get-sink

added in 4.0

(get-sink {:keys [sinks]} id)

gets a sink from the notification app server

get-snapshot

added in 4.0

(get-snapshot lib)

gets the current snapshot for the library

grammar

added in 4.0

(grammar lang)

gets the grammar

install-module-specialized!

added in 4.1

(install-module-specialized! lib lang source-id module-id options)

installs a specialized module clone into the library

intern-macros

added in 4.0

(intern-macros lang ns & [module-id library merge-op])

interns all macros from one namespace to another

lang-pointer

added in 4.0

(lang-pointer lang)(lang-pointer lang {:keys [module id], :as m})

creates a lang pointer

lang-rt

added in 4.0

(lang-rt)(lang-rt lang)(lang-rt ns lang)

getn the runtime contexts in a map

lang-rt-default

added in 4.0

(lang-rt-default ptr)

gets the default runtime function

lang-rt-list

added in 4.0

(lang-rt-list)(lang-rt-list ns)

lists rt in a namespace

lib-module-entries

added in 4.0

(lib-module-entries)(lib-module-entries module-id)(lib-module-entries module-id {:keys [lang entry]})

outputs module entries

lib-module-overview

added in 4.0

(lib-module-overview)(lib-module-overview module-id)(lib-module-overview module-id {:keys [lang entry]})

lists all modules

lib-module-purge

added in 4.0

(lib-module-purge)(lib-module-purge module-id)(lib-module-purge module-id {:keys [lang]})

purges modules

lib-module-unused

added in 4.0

(lib-module-unused)(lib-module-unused module-id)(lib-module-unused module-id {:keys [lang]})

lists unused modules

lib-overview

added in 4.0

(lib-overview)(lib-overview lang)

specifies lib overview task

lint-clear

added in 4.0

(lint-clear)

clears all linted namespaces

lint-set

added in 4.0

(lint-set ns)(lint-set ns option)

sets the linter for a namespace

macro-form

added in 4.0

(macro-form)

gets the current macro form

macro-grammar

added in 4.0

(macro-grammar)

gets the current grammar

macro-opts

added in 4.0

(macro-opts)

gets current macro-opts

module-entries

added in 4.0

(module-entries lang ns pred)

gets all module entries

(w/module-entries :xtalk ’xt.lang.common-lib identity) => coll?

print-module

added in 4.0

(print-module)(print-module lang-or-rt)

emits and prints out the module

(std.print/with-out-str (w/print-module (l/rt ’xt.lang.common-lib :xtalk))) => string?

ptr-clip

added in 4.0

(ptr-clip ptr)

copies pointer text to clipboard

ptr-display-str

added in 4.0

(ptr-display-str ptr)

copies pointer text to clipboard

ptr-print

added in 4.0

(ptr-print ptr)

copies pointer text to clipboard

ptr-setup

added in 4.0

(ptr-setup ptr)

calls setup on a pointer

ptr-setup-deps

added in 4.0

(ptr-setup-deps ptr)

calls setup on a pointer and all dependencies

ptr-teardown

added in 4.0

(ptr-teardown ptr)

calls teardown on a pointer

ptr-teardown-deps

added in 4.0

(ptr-teardown-deps ptr)

calls teardown on pointer all dependencies

purge-book!

added in 4.0

(purge-book! lib lang)

clears all modules from book

remove-listener

added in 4.0

(remove-listener notify id sink-key)

removes a listener from the sink

rt-macro-opts

added in 4.0

(rt-macro-opts lang-or-runtime)

creates the default macro-opts for a runtime

rt:inner

added in 4.0

(rt:inner)(rt:inner lang & [ns])

gets the inner client for a shared runtime

rt:invoke

added in 4.0

(rt:invoke ns lang code)

invokes code in the given namespace

rt:module

added in 4.0

(rt:module lang-or-rt)

gets the book module for a runtime

rt:module-meta

added in 4.0

(rt:module-meta lang-or-rt)

gets the book module for a runtime

rt:module-purge

added in 4.0

(rt:module-purge)(rt:module-purge lang-or-rt)

purges the current workspace

rt:restart

added in 4.0

(rt:restart)(rt:restart lang & [ns])

restarts the shared runtime

rt:scaffold

(rt:scaffold lang)(rt:scaffold rt module-id)

rt:scaffold-imports

(rt:scaffold-imports lang)(rt:scaffold-imports rt module-id)

rt:scaffold-to

(rt:scaffold-to lang)(rt:scaffold-to rt module-id)

rt:setup

(rt:setup lang)(rt:setup rt module-id)

rt:setup-single

(rt:setup-single lang)(rt:setup-single rt module-id)

rt:setup-to

(rt:setup-to lang)(rt:setup-to rt module-id)

rt:space

added in 4.0

(rt:space lang & [namespace])

will return space if not found (no default space)

rt:teardown

(rt:teardown lang)(rt:teardown rt module-id)

rt:teardown-at

(rt:teardown-at lang)(rt:teardown-at rt module-id)

rt:teardown-single

(rt:teardown-single lang)(rt:teardown-single rt module-id)

rt:teardown-to

(rt:teardown-to lang)(rt:teardown-to rt module-id)

runtime-library

added in 4.0

(runtime-library)

gets the current runtime (annex or default)

(runtime-library) => lib/library?

script

macro

added in 4.0

(script lang)(script lang module)(script lang module config)

script macro

script+

macro

added in 4.0

(script+ [tag lang])(script+ [tag lang] config)

macro for test extension setup

script-

macro

added in 4.0

(script- lang)(script- lang config)

macro for test setup

script-rt-stop

added in 4.0

(script-rt-stop)(script-rt-stop lang)(script-rt-stop lang ns)

stops the current runtime

specialization-descriptor

added in 4.1

(specialization-descriptor {:keys [bindings compile-type descriptor lang runtime source source-module target target-module], :as m})

normalizes a module specialization descriptor

sym-default-str

added in 4.0

(sym-default-str sym)

default fast symbol conversion

sym-entry

added in 4.0

(sym-entry lang sym)

gets the entry using a symbol

sym-full

added in 3.0

(sym-full {:keys [module id]})(sym-full module id)

creates a full symbol

sym-id

added in 3.0

(sym-id id)

gets the symbol id

sym-module

added in 3.0

(sym-module id)

gets the symbol namespace

sym-pair

added in 3.0

(sym-pair id)

gets the symbol pair

(sym-pair ’L.core/identity) => ’L.core identity

tmpl-entry

added in 4.0

(tmpl-entry s)

forms for various argument types

tmpl-macro

added in 4.0

(tmpl-macro [s args {:keys [property optional vargs empty]}])

forms for various argument types

with-trace

macro

added in 4.0

(with-trace & body)

form to control trace option

with:cache-force

macro

added in 4.0

(with:cache-force & body)

forces the cache to update

with:cache-none

macro

added in 4.0

(with:cache-none & body)

skips the cache

with:clip

macro

added in 4.0

(with:clip & body)

form to control clip option

with:emit

macro

added in 4.0

(with:emit & body)

binds the top-level emit function to common/emit-fn

(emit/with:emit (common/emit-fn ’(not (+ 1 2 3)) +grammar+ {})) => “!(1 + 2 + 3)”

with:explode

macro

added in 4.0

(with:explode & body)

form to control explode option

with:input

macro

added in 4.0

(with:input & body)

form to control input option

with:library

macro

added in 4.0

(with:library [lib] & body)

injects a library as the default

with:macro-opts

macro

added in 4.0

(with:macro-opts [mopts] & body)

bind macro opts

with:print

macro

added in 4.0

(with:print & body)

form to control print option

with:print-all

macro

added in 4.0

(with:print-all & body)

toggles print for all intermediate steps

with:raw

macro

added in 4.0

(with:raw & body)

form to control raw option

with:rt

macro

added in 4.0

(with:rt [rt] & body)

forcibly applies a runtime

with:rt-wrap

macro

added in 4.0

(with:rt-wrap [f] & body)

wraps an additional function to the invoke function