ReaderNodeKind
preserves written syntax before reader-macro lowering.
Only Atom carries a compiler form. Missing nodes have zero width; Invalid
nodes retain the exact bytes rejected by the reader.
Atom
instantiate
(Fn [Form] ReaderNodeKind)
creates a Atom.
Group
instantiate
(Fn [ReaderGroup] ReaderNodeKind)
creates a Group.
Invalid
instantiate
(Fn [ReaderCategory] ReaderNodeKind)
creates a Invalid.
Missing
instantiate
(Fn [String] ReaderNodeKind)
creates a Missing.
Punctuation
instantiate
(Fn [ReaderCategory] ReaderNodeKind)
creates a Punctuation.
ReaderMacro
instantiate
(Fn [String] ReaderNodeKind)
creates a ReaderMacro.
Whitespace
instantiate
(Fn [] ReaderNodeKind)
creates a Whitespace.
copy
instantiate
(Fn [(Ref ReaderNodeKind a)] ReaderNodeKind)
copies a ReaderNodeKind.
delete
instantiate
(Fn [ReaderNodeKind] ())
deletes a ReaderNodeKind. This should usually not be called manually.
get-tag
instantiate
(Fn [(Ref ReaderNodeKind a)] Int)
Gets the tag from a ReaderNodeKind.
prn
instantiate
(Fn [(Ref ReaderNodeKind a)] String)
converts a ReaderNodeKind to a string.
str
instantiate
(Fn [(Ref ReaderNodeKind a)] String)
converts a ReaderNodeKind to a string.