hara.model.spec-c

!.c

macro

(!.c & body)

+book+

+features+

+grammar+

+init+

+meta+

+template+

break

macro

c-fn-args

added in 4.0

(c-fn-args [_ args] grammar mopts)

custom C function arguments emission

c-sanitize

added in 4.0

(c-sanitize s)

sanitizes a symbol for c

def$.c

macro

(def$.c & body)

def.c

macro

(def.c & body)

defabstract.c

macro

(defabstract.c & body)

defgen.c

macro

(defgen.c & body)

defglobal.c

macro

(defglobal.c & body)

define.c

macro

(define.c & body)

defmacro.c

macro

(defmacro.c & body)

defn-.c

macro

(defn-.c & body)

defn.c

macro

(defn.c & body)

defptr.c

macro

(defptr.c & body)

defrun.c

macro

(defrun.c & body)

deftemp.c

macro

(deftemp.c & body)

emit-defn

added in 4.0

(emit-defn [_ sym args & body] grammar mopts)

custom defn for C

enum.c

macro

(enum.c & body)

return

macro

struct.c

macro

(struct.c & body)

tf-arrow

added in 4.0

(tf-arrow [_ left right])

transforms arrow ->

tf-define

added in 4.0

(tf-define [_ sym & more :as form])

not sure if this is needed (due to defmacro) but may be good for source to source

tf-enum

added in 4.0

(tf-enum [_ sym fields])

transforms enum definition

tf-sizeof

added in 4.0

(tf-sizeof [_ val])

transforms sizeof

tf-struct

added in 4.0

(tf-struct [_ sym fields])

transforms struct definition

tf-typedef

added in 4.0

(tf-typedef [_ type alias])

transforms typedef

to-c-type

added in 4.0

(to-c-type t)

converts to c type

typedef.c

macro

(typedef.c & body)