hara.model.spec-lua

!.lua

macro

(!.lua & body)

+book+

+features+

+grammar+

+init+

+meta+

+template+

break

macro

def$.lua

macro

(def$.lua & body)

def.lua

macro

(def.lua & body)

defabstract.lua

macro

(defabstract.lua & body)

defgen.lua

macro

(defgen.lua & body)

defglobal.lua

macro

(defglobal.lua & body)

defmacro.lua

macro

(defmacro.lua & body)

defn-.lua

macro

(defn-.lua & body)

defn.lua

macro

(defn.lua & body)

defptr.lua

macro

(defptr.lua & body)

defrun.lua

macro

(defrun.lua & body)

deftemp.lua

macro

(deftemp.lua & body)

local

macro

lua-emit-input-rest

(lua-emit-input-rest _ _ _)

lua-map-key

added in 3.0

(lua-map-key key grammar mopts)

custom lua map key

lua-module-export

added in 4.0

(lua-module-export module mopts)

outputs the js module export form

lua-tf-c-ffi

added in 4.0

(lua-tf-c-ffi [_ & forms])

transforms a c ffi block into a C declaration string.

This runs at macro-expansion time, before Lua’s lambda hoisting stage can extract the nested fn forms, so the full C prototypes are preserved for ffi.cdef.

lua-tf-decby

added in 4.1

(lua-tf-decby [_ target value])

lowers :-= into plain assignment

lua-tf-defgen

added in 4.0

(lua-tf-defgen [_ sym args & body])

defgen transform

lua-tf-for-array

added in 4.0

(lua-tf-for-array [_ [e arr] & body])

for array transform

lua-tf-for-async

added in 4.0

(lua-tf-for-async [_ [[res err] statement] {:keys [success error finally]}])

for async transform

lua-tf-for-index

added in 4.0

(lua-tf-for-index [_ [i [start end step :as range]] & body])

for index transform

lua-tf-for-iter

added in 4.0

(lua-tf-for-iter [_ [e it] & body])

for iter transform

lua-tf-for-object

added in 4.0

(lua-tf-for-object [_ [[k v] m] & body])

for object transform

lua-tf-for-return

added in 4.0

(lua-tf-for-return [_ [[res err] statement] {:keys [success error]}])

for return transform

lua-tf-incby

added in 4.1

(lua-tf-incby [_ target value])

lowers :+= into plain assignment

lua-tf-local

added in 4.0

(lua-tf-local [_ decl & args])

a more flexible var replacement

lua-tf-mulby

added in 4.1

(lua-tf-mulby [_ target value])

lowers :*= into plain assignment

lua-tf-prototype-create

(lua-tf-prototype-create [_ m])

lua-tf-prototype-method

(lua-tf-prototype-method [_ obj key])

lua-tf-throw

added in 4.1

(lua-tf-throw [_ value])

preserves the raw thrown payload through pcall

lua-tf-yield

added in 4.0

(lua-tf-yield [_ e])

yield transform

lua-vector

added in 4.1

(lua-vector arr grammar mopts)

emits a lua vector using cjson’s array metatable

return

macro

tab

macro

until

macro

variant-grammar

added in 4.1

(variant-grammar m)

merges variant feature overrides onto base lua grammar

variant-meta

added in 4.1

(variant-meta m)

merges variant metadata onto base lua metadata