MIT licensed by Christian Georgii
Maintained by [email protected]
This version can be pinned in stack with:atelier-prelude-0.2.0.0@sha256:b99efda66173269716c2eff2024f6173ae5419c030741875d4d454dcec0da528,1902

Module documentation for 0.2.0.0

Used by 2 packages in nightly-2026-08-19(full list with versions):

atelier-prelude

A custom prelude based on relude, adapted for Effectful conventions. Part of the atelier toolkit.

Usage

atelier-prelude exposes a module named Prelude. To make it the implicit prelude, hide base‘s Prelude with a mixin — GHC’s automatic import Prelude then resolves to this one, with no NoImplicitPrelude and no per-module imports.

In package.yaml (hpack):

dependencies:
- name: base
  mixin:
  - hiding (Prelude)
- atelier-prelude

or in a .cabal file:

build-depends: base, atelier-prelude
mixins:        base hiding (Prelude)

Add -Wno-implicit-prelude to your ghc-options to silence the implicit-prelude warning.

What’s different from relude

Lifted, IO-based operations from relude are intentionally not re-exported, so that effects are threaded explicitly through Effectful rather than performed in IO:

  • Relude.Lifted.* (system, environment, handle, terminal, file operations)
  • Relude.File
  • Relude.Print (console output)

Use the corresponding atelier-core effects instead — e.g. Atelier.Effects.Env, Atelier.Effects.File, Atelier.Effects.Console.

Part of atelier

License

MIT — see LICENSE.

Changes

Changelog

All notable changes to atelier-prelude will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to the PVP.

[Unreleased]

Changed

  • Relax base constraint to support GHC 9.6 up to GHC 9.12.

[0.1.0.0] - 2026-06-04

Added

  • Initial release: a relude-based custom prelude adapted for Effectful conventions, extracted from the atelier toolkit.
  • Lifted system, environment, handle, terminal and file operations (Relude.Lifted.* and Relude.File) and console output (Relude.Print) are intentionally not re-exported; the corresponding atelier-core effects (e.g. Atelier.Effects.Env, Atelier.Effects.File, Atelier.Effects.Console) should be used instead.