A clojure reader in clojure
A clojure reader in clojure
Map from ns alias to ns, if non-nil, it will be used to resolve read-time ns aliases instead of (ns-aliases ns).
Defaults to nil
Map from ns alias to ns, if non-nil, it will be used to resolve read-time ns aliases instead of (ns-aliases *ns*). Defaults to nil
Map from reader tag symbols to data reader Vars. Reader tags without namespace qualifiers are reserved for Clojure. Default reader tags are defined in oakclojure.tools.reader/default-data-readers and may be overridden by binding this Var.
Map from reader tag symbols to data reader Vars. Reader tags without namespace qualifiers are reserved for Clojure. Default reader tags are defined in oakclojure.tools.reader/default-data-readers and may be overridden by binding this Var.
When no data reader is found for a tag and default-data-reader-fn is non-nil, it will be called with two arguments, the tag and the value. If default-data-reader-fn is nil (the default value), an exception will be thrown for the unknown tag.
When no data reader is found for a tag and *default-data-reader-fn* is non-nil, it will be called with two arguments, the tag and the value. If *default-data-reader-fn* is nil (the default value), an exception will be thrown for the unknown tag.
Defaults to true.
WARNING This setting implies that the full power of the reader is in play, including syntax that can cause code to execute. It should never be used with untrusted sources. See also: oakclojure.tools.reader.edn/read.
When set to logical false in the thread-local binding, the eval reader (#=) and record/type literal syntax are disabled in read/load. Example (will fail): (binding [read-eval false] (read-string "#=(* 2 21)"))
When set to :unknown all reads will fail in contexts where read-eval has not been explicitly bound to either true or false. This setting can be a useful diagnostic tool to ensure that all of your reads occur in considered contexts.
Defaults to true. ***WARNING*** This setting implies that the full power of the reader is in play, including syntax that can cause code to execute. It should never be used with untrusted sources. See also: oakclojure.tools.reader.edn/read. When set to logical false in the thread-local binding, the eval reader (#=) and *record/type literal syntax* are disabled in read/load. Example (will fail): (binding [*read-eval* false] (read-string "#=(* 2 21)")) When set to :unknown all reads will fail in contexts where *read-eval* has not been explicitly bound to either true or false. This setting can be a useful diagnostic tool to ensure that all of your reads occur in considered contexts.
Default map of data reader functions provided by Clojure. May be overridden by binding data-readers
Default map of data reader functions provided by Clojure. May be overridden by binding *data-readers*
(map-func coll)
Decide which map type to use, array-map if less than 16 elements
Decide which map type to use, array-map if less than 16 elements
(read)
(read reader)
(read opts reader)
(read reader eof-error? eof-value)
Reads the first object from an IPushbackReader or a java.io.PushbackReader. Returns the object read. If EOF, throws if eof-error? is true. Otherwise returns sentinel. If no stream is providen, in will be used.
Opts is a persistent map with valid keys: :read-cond - :allow to process reader conditionals, or :preserve to keep all branches :features - persistent set of feature keywords for reader conditionals :eof - on eof, return value unless :eofthrow, then throw. if not specified, will throw
WARNING Note that read can execute code (controlled by read-eval), and as such should be used only with trusted sources.
To read data structures only, use oakclojure.tools.reader.edn/read
Note that the function signature of oakclojure.tools.reader/read and oakclojure.tools.reader.edn/read is not the same for eof-handling
Reads the first object from an IPushbackReader or a java.io.PushbackReader. Returns the object read. If EOF, throws if eof-error? is true. Otherwise returns sentinel. If no stream is providen, *in* will be used. Opts is a persistent map with valid keys: :read-cond - :allow to process reader conditionals, or :preserve to keep all branches :features - persistent set of feature keywords for reader conditionals :eof - on eof, return value unless :eofthrow, then throw. if not specified, will throw ***WARNING*** Note that read can execute code (controlled by *read-eval*), and as such should be used only with trusted sources. To read data structures only, use oakclojure.tools.reader.edn/read Note that the function signature of oakclojure.tools.reader/read and oakclojure.tools.reader.edn/read is not the same for eof-handling
(read+string)
(read+string stream)
(read+string opts stream)
(read+string stream eof-error? eof-value)
Like read, and taking the same args. reader must be a SourceLoggingPushbackReader. Returns a vector containing the object read and the (whitespace-trimmed) string read.
Like read, and taking the same args. reader must be a SourceLoggingPushbackReader. Returns a vector containing the object read and the (whitespace-trimmed) string read.
(read-string s)
(read-string opts s)
Reads one object from the string s. Returns nil when s is nil or empty.
WARNING Note that read-string can execute code (controlled by read-eval), and as such should be used only with trusted sources.
To read data structures only, use oakclojure.tools.reader.edn/read-string
Note that the function signature of oakclojure.tools.reader/read-string and oakclojure.tools.reader.edn/read-string is not the same for eof-handling
Reads one object from the string s. Returns nil when s is nil or empty. ***WARNING*** Note that read-string can execute code (controlled by *read-eval*), and as such should be used only with trusted sources. To read data structures only, use oakclojure.tools.reader.edn/read-string Note that the function signature of oakclojure.tools.reader/read-string and oakclojure.tools.reader.edn/read-string is not the same for eof-handling
(resolve-symbol s)
Resolve a symbol s into its fully qualified namespace version
Resolve a symbol s into its fully qualified namespace version
(syntax-quote form)
Macro equivalent to the syntax-quote reader macro (`).
Macro equivalent to the syntax-quote reader macro (`).
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close