API Reference skuld v#0.30.0

View Source

Modules

Bridges effectful implementations to plain Elixir interfaces.

Generates an effectful behaviour from a DoubleDown.Contract.

Run a computation in a separate process, bridging yields, throws, and results back to the calling process via messages.

Skuld.Comp: Evidence-passing algebraic effects with scoped handlers.

Sentinel indicating a computation was cancelled.

Environment construction and manipulation.

External suspension for yielding to code outside Skuld's env threading.

Behaviour for effect operation handlers.

Behaviour for effects supporting handler installation via catch clauses.

Behaviour for effects supporting local interception via catch clauses.

Protocol for handling sentinel values in run/run! and generic sentinel inspection.

Protocol for unwrapping exceptions in Throw.try_catch/1.

Behaviour for effect operation handlers that are provably total and linear.

Internal suspension for Env-aware code.

Raised when a non-computation value is used where a computation is expected.

Represents a pattern match failure in a comp block.

Scope machinery carried through a computation.

Error result that Catch recognizes

Exception raised when a Skuld computation throws via Throw.throw/1 and the error is not caught.

Type definitions for Skuld.Comp.

Exception raised when an Elixir exit is not caught within a Skuld computation.

Exception raised when an Elixir throw is not caught within a Skuld computation.

Cooperative fiber primitive for the FiberPool scheduler.

Fiber that was cancelled before completion.

Fiber that finished successfully.

Canonical error representation for fiber failures.

Fiber that terminated with an error.

Fiber suspended for an external caller (e.g. Yield).

Fiber suspended with an internal scheduler dependency (channel, batch, await).

Fiber waiting to be run for the first time.

Represents a state change with old and new values.

AtomicState effect - thread-safe state for concurrent contexts.

Bracket effect for safe resource acquisition and cleanup.

High-level streaming API built on channels.

Bounded channel with suspending put/take operations and error propagation.

Effect for dispatching commands through a unified pipeline.

Effect logging for replay, resume, and rerun capabilities.

A flat log of effect invocations.

Effect for cooperative fiber-based concurrency.

Mixed bag of results from await_all!/1 when at least one fiber failed.

Structured error for a single fiber/task failure.

Successful result wrapper used only inside AwaitAllResults.results.

Fresh effect - generate fresh/unique UUIDs.

FreshInt effect — generate monotonically increasing integers.

FxFasterList - High-performance effectful list operations.

FxList - Effectful list operations with full control effect support.

Parallel effect - simple fork-join concurrency with built-in boundaries.

Effect for dispatching parameterizable blocking calls to pluggable backends.

Generates an effectful dispatch facade for a port contract.

Random effect - generate random values.

Reader effect - access an immutable environment value.

State effect - mutable state threaded through computation.

Effect for BEAM Task-based parallelism within a FiberPool.

Throw/Catch effects - error handling with scoped catching.

Transaction effect — env state rollback with optional database transactions.

Writer effect - accumulate a log during computation.

Yield effect - coroutine-style suspension and resumption.

Main computation driver for the FiberPool.

Primary API for query contracts, wiring, and caching.

Composable caching layer for Query.Contract queries.

Macro for defining typed batchable fetch contracts with deffetch declarations.

The query macro for applicative-do style automatic concurrent batching.

Effectful dispatch facade for Skuld.Repo.Effectful.

Port contract for common Ecto Repo operations.

Macro for generating a Port.Repo.Behaviour implementation that delegates to a specific Ecto Repo module.

Effectful behaviour for Skuld.Repo.Contract.

Closed-world stateful in-memory Repo handler for tests. Recommended default.

Open-world stateful in-memory Repo handler for tests.

Stateless stub Repo handler for tests.

Deprecated. Use Skuld.Repo.Stub instead.

Helpers for building coroutines with serializable effect logs.

Unified syntax module providing do-notation macros for Skuld computations.

Mix Tasks

Injects navigation headers and footers into documentation files.