Effect System

Noun · Development

Definitions

  1. A type system extension that tracks computational side effects (I/O, exceptions, state mutation, async) in function signatures. The compiler enforces that effects are properly handled. Haskell's IO monad, Koka's effect types, and Java's checked exceptions are varying approaches to effect tracking.

    In plain English: A system where function types declare what side effects they have (like file I/O or network calls), and the compiler checks them.

    Example: "In Koka, the type signature tells you this function performs console I/O and may throw — no surprises about hidden side effects."

Related Terms