hara.model.annex.spec-haskell

!.hs

macro

(!.hs & body)

+book+

+features+

+grammar+

+init+

+meta+

+sym-replace+

+template+

as

macro

data

macro

def$.hs

macro

(def$.hs & body)

def.hs

macro

(def.hs & body)

defabstract.hs

macro

(defabstract.hs & body)

defgen.hs

macro

(defgen.hs & body)

defglobal.hs

macro

(defglobal.hs & body)

defmacro.hs

macro

(defmacro.hs & body)

defn-.hs

macro

(defn-.hs & body)

defn.hs

macro

(defn.hs & body)

defptr.hs

macro

(defptr.hs & body)

defrun.hs

macro

(defrun.hs & body)

deftemp.hs

macro

(deftemp.hs & body)

deriving

macro

emit-indent-body

added in 4.0

(emit-indent-body [_ form] grammar mopts)

indents the body

emit-raw-str

added in 4.0

(emit-raw-str [_ s] grammar mopts)

emits a raw string

haskell-args

added in 4.0

(haskell-args [_ args] grammar mopts)

custom haskell arguments emission (space separated)

haskell-invoke

added in 4.1

(haskell-invoke [sym & args] grammar mopts)

wraps wrappable arguments for function application

haskell-typesystem

added in 4.0

(haskell-typesystem arr grammar mopts)

emit haskell types

haskell-vector

added in 4.0

(haskell-vector arr grammar mopts)

emit haskell vectors and types

in

macro

instance

macro

module

macro

newtype

macro

parse-match-clauses

added in 4.0

(parse-match-clauses clauses)

parses shared match clauses

qualified

macro

return

macro

tf-defn

added in 4.0

(tf-defn [_ sym args & body])

custom defn for Haskell

tf-do

added in 4.0

(tf-do [_ & body])

transforms do

tf-if

added in 4.0

(tf-if [_ cond then else])

transforms if

tf-lambda

added in 4.0

(tf-lambda [_ args body])

transforms fn/lambda

tf-letrec

added in 4.0

(tf-letrec [_ bindings & body])

transforms letrec

tf-match

added in 4.1

(tf-match [_ val & clauses])

transforms match

where

macro