ReaderDocument

is a lossless read of one exact UTF-8 source buffer. Its leaves partition the source, apart from zero-width missing nodes. Issues do not discard syntax. Conversion to compiler forms requires no issues.

copy

instantiate

(Fn [(Ref ReaderDocument a)] ReaderDocument)

copies a ReaderDocument.

delete

instantiate

(Fn [ReaderDocument] ())

deletes a ReaderDocument. Should usually not be called manually.

init

instantiate

(Fn [String, (Array (Box ReaderNode)), (Array ReaderIssue)] ReaderDocument)

creates a ReaderDocument.

issues

instantiate

(Fn [(Ref ReaderDocument a)] (Ref (Array ReaderIssue) a))

gets the issues property of a ReaderDocument.

nodes

instantiate

(Fn [(Ref ReaderDocument a)] (Ref (Array (Box ReaderNode)) a))

gets the nodes property of a ReaderDocument.

prn

instantiate

(Fn [(Ref ReaderDocument a)] String)

converts a ReaderDocument to a string.

set-issues

instantiate

(Fn [ReaderDocument, (Array ReaderIssue)] ReaderDocument)

sets the issues property of a ReaderDocument.

set-issues!

instantiate

(Fn [(Ref ReaderDocument a), (Array ReaderIssue)] ())

sets the issues property of a ReaderDocument in place.

set-nodes

instantiate

(Fn [ReaderDocument, (Array (Box ReaderNode))] ReaderDocument)

sets the nodes property of a ReaderDocument.

set-nodes!

instantiate

(Fn [(Ref ReaderDocument a), (Array (Box ReaderNode))] ())

sets the nodes property of a ReaderDocument in place.

set-source

instantiate

(Fn [ReaderDocument, String] ReaderDocument)

sets the source property of a ReaderDocument.

set-source!

instantiate

(Fn [(Ref ReaderDocument a), String] ())

sets the source property of a ReaderDocument in place.

source

instantiate

(Fn [(Ref ReaderDocument a)] (Ref String a))

gets the source property of a ReaderDocument.

status

defn

(Fn [(Ref ReaderDocument a)] ReaderStatus)

                        (status document)
                    

distinguishes valid input, input needing another form or closing delimiter, and invalid input. A definite error takes precedence over missing syntax.

str

instantiate

(Fn [(Ref ReaderDocument a)] String)

converts a ReaderDocument to a string.

update-issues

instantiate

(Fn [ReaderDocument, (Ref (Fn [(Array ReaderIssue)] (Array ReaderIssue) a) b)] ReaderDocument)

updates the issues property of a ReaderDocument using a function f.

update-nodes

instantiate

(Fn [ReaderDocument, (Ref (Fn [(Array (Box ReaderNode))] (Array (Box ReaderNode)) a) b)] ReaderDocument)

updates the nodes property of a ReaderDocument using a function f.

update-source

instantiate

(Fn [ReaderDocument, (Ref (Fn [String] String a) b)] ReaderDocument)

updates the source property of a ReaderDocument using a function f.