init commit
This commit is contained in:
+133
@@ -0,0 +1,133 @@
|
||||
(ns Code
|
||||
"Elixir Code module — code loading, compilation, and evaluation.
|
||||
|
||||
In CljElixir: (Code/eval-string \"1 + 2\"), (Code/compile-file \"mod.ex\"), etc.")
|
||||
|
||||
(defn eval-string
|
||||
"Evaluates Elixir code from a string. Returns {result, binding}.
|
||||
(Code/eval-string \"1 + 2\") ;=> {3 []}"
|
||||
([string])
|
||||
([string binding])
|
||||
([string binding opts]))
|
||||
|
||||
(defn eval-quoted
|
||||
"Evaluates a quoted Elixir AST.
|
||||
(Code/eval-quoted ast binding)"
|
||||
([quoted])
|
||||
([quoted binding])
|
||||
([quoted binding opts]))
|
||||
|
||||
(defn compile-string
|
||||
"Compiles Elixir code from a string."
|
||||
([string])
|
||||
([string file]))
|
||||
|
||||
(defn compile-file
|
||||
"Compiles an Elixir source file."
|
||||
([file])
|
||||
([file relative-to]))
|
||||
|
||||
(defn compile-quoted
|
||||
"Compiles a quoted AST."
|
||||
([quoted])
|
||||
([quoted file]))
|
||||
|
||||
(defn require-file
|
||||
"Requires a file, compiling it if needed. No-op if already loaded."
|
||||
([file])
|
||||
([file relative-to]))
|
||||
|
||||
(defn ensure-loaded
|
||||
"Ensures the module is loaded. Returns {:module module} or {:error reason}.
|
||||
(Code/ensure-loaded Enum) ;=> {:module Enum}"
|
||||
[module])
|
||||
|
||||
(defn ensure-loaded!
|
||||
"Ensures the module is loaded. Raises on error."
|
||||
[module])
|
||||
|
||||
(defn ensure-compiled
|
||||
"Ensures the module is compiled. Returns {:module module} or {:error reason}."
|
||||
[module])
|
||||
|
||||
(defn ensure-compiled!
|
||||
"Ensures the module is compiled. Raises on error."
|
||||
[module])
|
||||
|
||||
(defn loaded?
|
||||
"Returns true if the module is loaded.
|
||||
(Code/loaded? Enum) ;=> true"
|
||||
[module])
|
||||
|
||||
(defn available?
|
||||
"Returns true if the module is available."
|
||||
[module])
|
||||
|
||||
(defn fetch-docs
|
||||
"Returns documentation for a module."
|
||||
[module])
|
||||
|
||||
(defn get-docs
|
||||
"Returns docs for a module, function, or callback."
|
||||
([module spec]))
|
||||
|
||||
(defn string-to-quoted
|
||||
"Parses an Elixir string to AST. Returns {:ok ast} or {:error reason}.
|
||||
(Code/string-to-quoted \"1 + 2\") ;=> {:ok {:+ [line: 1] [1 2]}}"
|
||||
([string])
|
||||
([string opts]))
|
||||
|
||||
(defn string-to-quoted!
|
||||
"Parses to AST. Raises on error."
|
||||
([string])
|
||||
([string opts]))
|
||||
|
||||
(defn quoted-to-algebra
|
||||
"Converts quoted AST to formatted algebra document."
|
||||
([quoted])
|
||||
([quoted opts]))
|
||||
|
||||
(defn format-string!
|
||||
"Formats Elixir code string.
|
||||
(Code/format-string! \"1+2\") ;=> \"1 + 2\""
|
||||
([string])
|
||||
([string opts]))
|
||||
|
||||
(defn format-file!
|
||||
"Formats an Elixir source file."
|
||||
([file])
|
||||
([file opts]))
|
||||
|
||||
(defn purge
|
||||
"Purges a module (removes old code)."
|
||||
[module])
|
||||
|
||||
(defn delete
|
||||
"Deletes a module from the VM."
|
||||
[module])
|
||||
|
||||
(defn compiler-options
|
||||
"Gets or sets compiler options.
|
||||
(Code/compiler-options) ;=> current options"
|
||||
([])
|
||||
([opts]))
|
||||
|
||||
(defn put-compiler-option
|
||||
"Sets a single compiler option."
|
||||
[key value])
|
||||
|
||||
(defn unrequire-files
|
||||
"Un-requires files so they can be required again."
|
||||
[files])
|
||||
|
||||
(defn required-files
|
||||
"Returns list of required files."
|
||||
[])
|
||||
|
||||
(defn append-path
|
||||
"Appends a path to the code path."
|
||||
[path])
|
||||
|
||||
(defn prepend-path
|
||||
"Prepends a path to the code path."
|
||||
[path])
|
||||
Reference in New Issue
Block a user