Validates and desugars RawAST into CoreAST.
The analyzer transforms the parser's output (RawAST) into a validated, desugared intermediate form (CoreAST) that the interpreter can safely evaluate.
Error Handling
Returns {:ok, CoreAST.t()} on success or {:error, error_reason()} on failure.
Summary
Types
@type error_reason() :: {:invalid_form, String.t()} | {:invalid_arity, atom(), String.t()} | {:invalid_where_form, String.t()} | {:invalid_where_operator, atom()} | {:invalid_cond_form, String.t()} | {:invalid_thread_form, atom(), String.t()} | {:unsupported_pattern, term()} | {:invalid_placeholder, atom()}
Functions
@spec analyze(term()) :: {:ok, PtcRunner.Lisp.CoreAST.t()} | {:error, error_reason()}