Raised when a DSL macro cannot be compiled.
Errors include clear descriptions of what went wrong and where.
Examples
iex> raise ExDatalog.DSL.CompileError, message: "relation :parent is not declared"
** (ExDatalog.DSL.CompileError) relation :parent is not declared
iex> err = ExDatalog.DSL.CompileError.exception("unsafe variable z")
iex> err.message
"unsafe variable z"
iex> ExDatalog.DSL.CompileError.exception(message: "bad rule")
%ExDatalog.DSL.CompileError{message: "bad rule"}
Summary
Types
@type t() :: %ExDatalog.DSL.CompileError{__exception__: true, message: String.t()}