lux/macro/ast

Structs

Eq<AST>

(lux/control/eq;Eq lux;AST)

Values

(bool x)

(-> lux;Bool lux;AST)

(char x)

(-> lux;Char lux;AST)

(form x)

(-> (lux;List lux;AST) lux;AST)

(frac x)

(-> lux;Frac lux;AST)

(int x)

(-> lux;Int lux;AST)

(local-symbol name)

Produces a local symbol (a symbol with no module prefix).

(-> lux;Text lux;AST)

(local-tag name)

Produces a local tag (a tag with no module prefix).

(-> lux;Text lux;AST)

(nat x)

(-> lux;Nat lux;AST)

(real x)

(-> lux;Real lux;AST)

(record x)

(-> (lux;List [lux;AST lux;AST]) lux;AST)

(replace original substitute ast)

Replaces all ASTs that look like 'original' with the 'substitute' in the given AST.

(-> lux;AST lux;AST lux;AST lux;AST)

(symbol x)

(-> lux;Ident lux;AST)

(tag x)

(-> lux;Ident lux;AST)

(text x)

(-> lux;Text lux;AST)

(to-text ast)

(-> lux;AST lux;Text)

(tuple x)

(-> (lux;List lux;AST) lux;AST)