MetaCredo.Analysis.Purity (MetaCredo v0.2.0)

View Source

Programmatic purity / side-effect analysis API.

Determines whether code is pure (no side effects) or impure (I/O, mutations, random operations, etc.) by operating on the unified MetaAST representation.

Delegates to Metastatic.Analysis.Purity for the actual analysis, giving MetaCredo a stable API surface for downstream consumers.

Usage

alias Metastatic.Document
alias MetaCredo.Analysis.Purity

doc = Document.new(ast, :elixir)
{:ok, result} = Purity.analyze(doc)

result.pure?        # => true
result.effects      # => []
result.confidence   # => :high

Summary

Functions

Analyzes a document for purity / side effects.

Analyzes a document for purity with options.

Analyzes a document for purity, raising on error.

Functions

analyze(doc)

Analyzes a document for purity / side effects.

analyze(doc_or_language, opts_or_source)

Analyzes a document for purity with options.

analyze!(doc)

Analyzes a document for purity, raising on error.