PtcRunner.Lisp.AST (PtcRunner v0.9.0)

Copy Markdown View Source

AST node types for PTC-Lisp

Summary

Functions

Create a keyword node

Create a list (call) node

Create a map node from flat list [k1, v1, k2, v2, ...]

Create a symbol node

Create a vector node

Types

t()

@type t() ::
  nil
  | boolean()
  | number()
  | {:string, String.t()}
  | {:keyword, atom()}
  | {:vector, [t()]}
  | {:map, [{t(), t()}]}
  | {:set, [t()]}
  | {:symbol, atom()}
  | {:ns_symbol, atom(), atom()}
  | {:list, [t()]}

Functions

keyword(name)

Create a keyword node

list(elements)

Create a list (call) node

map_node(pairs)

Create a map node from flat list [k1, v1, k2, v2, ...]

symbol(name)

Create a symbol node

vector(elements)

Create a vector node