atelier-prelude: Custom relude-based prelude with Effectful conventions

[ library, mit, prelude ] [ Propose Tags ] [ Report a vulnerability ]

A custom prelude based on relude, adapted for Effectful — part of the atelier toolkit.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Change log CHANGELOG.md
Dependencies base (>=4.20 && <4.21), effectful-core (>=2.6 && <2.7), relude (>=1.2 && <1.3) [details]
License MIT
Author Christian Georgii
Maintainer christian.georgii@tweag.io
Uploaded by cgeorgii at 2026-06-04T22:19:54Z
Category Prelude
Home page https://github.com/atelier-hub/tricorder/tree/main/atelier-prelude
Bug tracker https://github.com/atelier-hub/tricorder/issues
Source repo head: git clone https://github.com/atelier-hub/tricorder
Distributions
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 1 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed as of 2026-06-04 [all 1 reports]

Readme for atelier-prelude-0.1.0.0

[back to package description]

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.