hara.lang.impl

%.form

macro

added in 4.0

(%.form form)

converts to a form

%.str

macro

added in 4.0

(%.str form)

converts to an output string

*library*

dynamic

*print-form*

dynamic

clone-default-library

added in 4.0

(clone-default-library)

clones the default library

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

emit-as

added in 4.0

(emit-as lang forms & [meta])

helper function for emitting multiple forms

emit-direct

added in 4.0

(emit-direct grammar form namespace {:keys [lang emit bulk], :as mopts})

adds additional controls to transform form

emit-entry

added in 4.0

(emit-entry {:keys [lang module id section], :or {section :code}} {:keys [library], :as meta})

emits an entry given parameters and options

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-entry-deps-collect

added in 4.0

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

only collects the dependencies

emit-options

added in 4.0

(emit-options {:keys [lang library snapshot emit], :as meta})

create emit options

(emit-options {:lang :lua}) => vector?

emit-scaffold-for

added in 4.0

(emit-scaffold-for module-id meta)

creates scaffold for module and its deps

emit-scaffold-imports

added in 4.0

(emit-scaffold-imports module-id {:keys [emit], :as meta})

create scaggold to expose native imports

emit-scaffold-raw

added in 4.0

(emit-scaffold-raw transform module-id {:keys [library lang emit], :as meta})

creates entries only for defglobal and defrun entries

emit-scaffold-raw-imports

added in 4.0

(emit-scaffold-raw-imports modules emit [stage grammar book namespace mopts])

gets only the scaffold imports

emit-scaffold-to

added in 4.0

(emit-scaffold-to module-id meta)

creates scaffold up to module

emit-script

added in 4.0

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

emits a script with all dependencies

emit-script-deps

added in 4.0

(emit-script-deps entries emit [stage grammar book namespace mopts])

emits the script deps

emit-script-imports

added in 4.0

(emit-script-imports natives emit [stage grammar book namespace mopts :as input])

emit imports

emit-script-join

added in 4.0

(emit-script-join imports-arr deps-arr body)

joins the necessary parts of the script

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

get-entry

added in 4.0

(get-entry library lang module id)

gets an entry

grammar

added in 4.0

(grammar lang)

gets the grammar

runtime-library

added in 4.0

(runtime-library)

gets the current runtime (annex or default)

(runtime-library) => lib/library?

to-form

added in 4.0

(to-form form meta)

input to form

with:library

macro

added in 4.0

(with:library [lib] & body)

injects a library as the default