relude: Custom prelude from Kowainik
Avoid all partial functions (like
head :: [a] -> a). The types of partial functions lie about their behavior and usage of such functions can lead to the unexpected bugs. Though you can still use some unsafe functions from
Relude.Unsafemodule, but they are not exported by default.
Type-safety. We like to make invalid states unrepresantable. And if it's possible to express this concept through the types then we will do it. Example:
whenNotNull :: Applicative f => [a] -> (NonEmpty a -> f ()) -> f ()
String, use spaceleak-free functions (like our custom
Minimalism (low number of dependencies). We don't force users of
reludeto stick to some specific lens or text formatting or logging library.
Convenience (like lifted to
MonadIOfunctions, more reexports). But we want to bring common types and functions (like
bytestrng) into scope because they are used in almost every application anyways.
Provide excellent documentation.
Migration guide from
Haddock with examples for (almost) every function (all examples are tested with `doctest`)
Documentation regarding internal module structure)
User-friendliness. Ability to quickly migrate to
reludeif you're familiar with the common libraries like
Exploration. Experiment with new ideas and proposals without introducing breaking changes.
[Skip to Readme]
|Versions [faq]||0.1.0, 0.1.1, 0.2.0, 0.3.0, 0.4.0|
|Dependencies||base (>=4.9 && <5), bytestring (==0.10.*), containers (>=0.5.7 && <0.7), deepseq (==1.4.*), ghc-prim (>=0.4.0.0 && <0.6), hashable (==1.2.*), mtl (==2.2.*), stm (>=2.4 && <2.6), text (==1.2.*), transformers (==0.5.*), unordered-containers (>=0.2.7 && <0.3) [details]|
|Copyright||2016 Stephen Diehl, 2016-2018 Serokell, 2018 Kowainik|
|Author||Stephen Diehl, @serokell, Kowainik|
|Source repo||head: git clone email@example.com:kowainik/relude.git|
|Uploaded||by shersh at Tue Nov 6 15:57:04 UTC 2018|
|Distributions||LTSHaskell:0.4.0, NixOS:0.4.0, Stackage:0.4.0|
|Downloads||579 total (70 in the last 30 days)|
|Rating||2.0 (votes: 1) [estimated by rule of succession]|
Docs available [build log]
Last success reported on 2018-11-06 [all 1 reports]
For package maintainers and hackage trustees