(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])