About
This library provides a Prelude for Polysemy libraries, building upon incipit-base and exporting most of
Polysemy’s core modules.
For a more comprehensive variant that includes some basic libraries, consider incipit.
Usage
Using a custom Prelude requires the use of Cabal mixins to hide the module from base and replace it with
IncipitCore:
For hpack:
dependencies:
- name: base
version: '>= 4 && < 5'
mixin:
- hiding (Prelude)
- name: incipit-core
version: '>= 0.3'
mixin:
- (IncipitCore as Prelude)
- hiding (IncipitCore)
For cabal:
build-depends:
base >=4 && <5, incipit-core >= 0.3
mixins:
base hiding (Prelude), incipit-core (IncipitCore as Prelude), incipit-core hiding (IncipitCore)
incipit-core used to export Prelude, but
stack can’t deal with that.
Custom Prelude
In order to extend incipit-core with a local Prelude, the module IncipitCore has to be reexported:
dependencies:
- name: base
version: '>= 4 && < 5'
mixin:
- hiding (Prelude)
- incipit-core >= 0.3
module Prelude (
module Prelude,
module IncipitCore,
) where
import IncipitCore
projectName :: Text
projectName =
"spaceship"