Usage

To try out standalone prelude at the interactive shell, from the Protolude
project directory run.

$ stack exec ghci
> import Protolude

Swapping out the old Prelude

Disable the built-in prelude at the top of your file:

{-# LANGUAGE NoImplicitPrelude #-}

Or directly in your project cabal file:

default-extensions: NoImplicitPrelude

Then in your modules:

import Protolude

Exported Functions

The list of exports is given in the Symbols.md file. Haddock
unfortunately breaks in the presence of module reexports and is unable to render
documentation.

Dependencies

Protolude tries to be light on dependencies and only pulls in essential
libraries that are universally common across most real-world projects. Lower and
upper bounds are fully specified and compatible with both vanilla Cabal and
tracks Stack LTS resolver.

Dependencies

Lower (>=)

Upper (<)

array

0.4

0.6

async

2.0

2.3

base

4.6

4.13

bytestring

0.10

0.11

containers

0.5

0.7

deepseq

1.3

1.5

ghc-prim

0.3

0.6

hashable

1.2

1.3

mtl

2.1

2.3

stm

2.4

2.6

text

1.2

1.3

transformers

0.4

0.6

Structure

FAQs

My putStrLn and putStr instances are no longer inferred in the presense
of the -XOverloadedStrings extension?

Because the print functions are polymorphic the type of the print functions may
require annotations if the type is not fully specified by inference. To force a
specific type at the call site use either