# skuld v0.33.1 - API Reference

## Modules

- [Skuld.Comp.ITotalLinearHandler](Skuld.Comp.ITotalLinearHandler.md): Behaviour for effect operation handlers that are provably total and linear.
- [Skuld.Comp.ScopeEnv](Skuld.Comp.ScopeEnv.md): Scope machinery carried through a computation.
- [Skuld.Effects.FreshInt](Skuld.Effects.FreshInt.md): FreshInt effect — generate monotonically increasing integers.
- [Skuld.Effects.State.Change](Skuld.Effects.State.Change.md): Represents a state change with old and new values.

- Core
  - [Skuld.Comp](Skuld.Comp.md): Core computation engine and foundational effects for the Skuld ecosystem.
  - [Skuld.Syntax](Skuld.Syntax.md): Syntax module providing the computation do-notation macro.

- Foundational Effects
  - [Skuld.Effects.Bracket](Skuld.Effects.Bracket.md): Bracket effect for safe resource acquisition and cleanup.
  - [Skuld.Effects.Command](Skuld.Effects.Command.md): Effect for dispatching commands through a unified pipeline.
  - [Skuld.Effects.Fresh](Skuld.Effects.Fresh.md): Fresh effect - generate fresh/unique UUIDs.
  - [Skuld.Effects.FxFasterList](Skuld.Effects.FxFasterList.md): FxFasterList - High-performance effectful list operations.
  - [Skuld.Effects.FxList](Skuld.Effects.FxList.md): FxList - Effectful list operations with full control effect support.
  - [Skuld.Effects.Random](Skuld.Effects.Random.md): Random effect - generate random values.
  - [Skuld.Effects.Reader](Skuld.Effects.Reader.md): Reader effect - access an immutable environment value.
  - [Skuld.Effects.State](Skuld.Effects.State.md): State effect - mutable state threaded through computation.
  - [Skuld.Effects.Throw](Skuld.Effects.Throw.md): Throw/Catch effects - error handling with scoped catching.
  - [Skuld.Effects.Transaction](Skuld.Effects.Transaction.md): Transaction effect — env state rollback with optional database transactions.
  - [Skuld.Effects.Writer](Skuld.Effects.Writer.md): Writer effect - accumulate a log during computation.
  - [Skuld.Effects.Yield](Skuld.Effects.Yield.md): Yield effect - coroutine-style suspension and resumption.

- Core Types
  - [Skuld.Comp.Cancelled](Skuld.Comp.Cancelled.md): Sentinel indicating a computation was cancelled.
  - [Skuld.Comp.Env](Skuld.Comp.Env.md): Environment construction and manipulation.
  - [Skuld.Comp.ExternalSuspend](Skuld.Comp.ExternalSuspend.md): External suspension for yielding to code outside Skuld's env threading.
  - [Skuld.Comp.ForeignSuspend](Skuld.Comp.ForeignSuspend.md): Suspension for external/foreign resources (e.g., JavaScript Promises).
  - [Skuld.Comp.Throw](Skuld.Comp.Throw.md): Error result that Catch recognizes
  - [Skuld.Comp.Types](Skuld.Comp.Types.md): Type definitions for Skuld.Comp.

- Protocols
  - [Skuld.Comp.IHandle](Skuld.Comp.IHandle.md): Behaviour for effect operation handlers.
  - [Skuld.Comp.IInstall](Skuld.Comp.IInstall.md): Behaviour for effects supporting handler installation via catch clauses.
  - [Skuld.Comp.IIntercept](Skuld.Comp.IIntercept.md): Behaviour for effects supporting local interception via catch clauses.
  - [Skuld.Comp.ISentinel](Skuld.Comp.ISentinel.md): Protocol for handling sentinel values in run/run! and generic sentinel inspection.
  - [Skuld.Comp.IThrowable](Skuld.Comp.IThrowable.md): Protocol for unwrapping exceptions in `Throw.try_catch/1`.

- Exceptions
  - [Skuld.Comp.InvalidComputation](Skuld.Comp.InvalidComputation.md): Raised when a non-computation value is used where a computation is expected.
  - [Skuld.Comp.MatchFailed](Skuld.Comp.MatchFailed.md): Represents a pattern match failure in a `comp` block.
  - [Skuld.Comp.ThrowError](Skuld.Comp.ThrowError.md): Exception raised when a Skuld computation throws via `Throw.throw/1`
and the error is not caught.
  - [Skuld.Comp.UncaughtExit](Skuld.Comp.UncaughtExit.md): Exception raised when an Elixir `exit` is not caught within a Skuld computation.
  - [Skuld.Comp.UncaughtThrow](Skuld.Comp.UncaughtThrow.md): Exception raised when an Elixir `throw` is not caught within a Skuld computation.

## Mix Tasks

- [mix skuld.docs.nav](Mix.Tasks.Skuld.Docs.Nav.md): Injects navigation headers and footers into documentation files.

