intro 0.1.0.3 → 0.1.0.4
raw patch · 3 files changed
+16/−31 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Intro: type LHashMap = HashMap
- Intro: type LMap = Map
+ Intro: hash :: Hashable a => a -> Int
+ Intro: hashWithSalt :: Hashable a => Int -> a -> Int
+ Intro: rws :: Monoid w => (r -> s -> (a, s, w)) -> RWS r w s a
Files
- README.md +3/−5
- intro.cabal +3/−5
- src/Intro.hs +10/−21
README.md view
@@ -9,17 +9,15 @@ For String overloading the extension 'OverloadedStrings' should be used. Container types and Monad transformers are provided. -Most important - this Prelude tries not to be too fancy.+Most important - this Prelude tries to keep things simple. This means it just reexports from base and commonly used libraries and doesn't invent its own stuff.--Furthermore the Prelude is-not scattered over multiple files to keep things simple.+Furthermore the Prelude is not scattered over many files. Everything is exported explicitly to improve the quality of the documentation. List of design decisions: -* Simplicity: Everything is in one file (Unfortunately we need Intro.Trustworthy for Safe Haskell)+* Keep everything at one place (There are one two source files, we need Intro.Trustworthy for Safe Haskell) * Conservative extension over the base Prelude * Rely only on very common external libraries * Avoid writing custom functions
intro.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: intro-version: 0.1.0.3+version: 0.1.0.4 synopsis: "Fixed Prelude" - Mostly total and safe, provides Text and Monad transformers description: Intro is a modern Prelude which provides safe alternatives for most of the partial functions and follows other@@ -11,12 +11,10 @@ For String overloading the extension 'OverloadedStrings' should be used. Container types and Monad transformers are provided. .- Most important - this Prelude tries not to be too fancy.+ Most important - this Prelude tries to keep things simple. This means it just reexports from base and commonly used libraries and doesn\'t invent its own stuff.- .- Furthermore the Prelude is- not scattered over multiple files to keep things simple.+ Furthermore the Prelude is not scattered over many files. Everything is exported explicitly to improve the quality of the documentation. category: Prelude stability: experimental
src/Intro.hs view
@@ -20,17 +20,15 @@ -- For String overloading the extension 'OverloadedStrings' should be used. -- Container types and Monad transformers are provided. ----- Most important - this Prelude tries not to be too fancy.+-- Most important - this Prelude tries to keep things simple. -- This means it just reexports from base and commonly used libraries -- and doesn\'t invent its own stuff.------ Furthermore the Prelude is--- not scattered over multiple files to keep things simple.+-- Furthermore the Prelude is not scattered over many files. -- Everything is exported explicitly to improve the quality of the documentation. -- -- List of design decisions: ----- * Simplicity: Everything is in one file (Unfortunately we need Intro.Trustworthy for Safe Haskell)+-- * Keep everything at one place (There are one two source files, we need Intro.Trustworthy for Safe Haskell) -- * Conservative extension over the base Prelude -- * Rely only on very common external libraries -- * Avoid writing custom functions@@ -66,7 +64,7 @@ -- These functions are not provided for various reasons: -- -- * 'succ' and 'pred' are not commonly used and don't have safe alternatives. Maybe ask if these could be added to the 'safe' package?--- * '!!' is unsafe and /O(n)/. Use a 'Data.Map.Strict.Map' instead.+-- * '!!' is unsafe and /O(n)/. Use a 'Data.Map.Map' instead. -- * 'lines', 'unlines', 'words' and 'unwords' are not provided. Use qualified 'Data.Text' import instead. -- * Instead of 'foldl', it is recommended to use 'Data.Foldable.foldl''. -- * 'lex' is not commonly used. Use a parser combinator library instead.@@ -230,17 +228,15 @@ -- * Container types -- ** Map and Set (Ordered)- , Data.Map.Strict.Map- , LMap+ , Data.Map.Map , Data.Set.Set- , Data.IntMap.Strict.IntMap+ , Data.IntMap.IntMap , Data.IntSet.IntSet -- ** HashedMap and HashSet , Data.HashMap.Strict.HashMap- , LHashMap , Data.HashSet.HashSet- , Data.Hashable.Hashable+ , Data.Hashable.Hashable(hash, hashWithSalt) , Intro.Trustworthy.Hashable1 , Intro.Trustworthy.Hashable2 @@ -576,6 +572,7 @@ -- ** MonadRWS and RWST , Control.Monad.RWS.CPS.MonadRWS , Control.Monad.RWS.CPS.RWS+ , Control.Monad.RWS.CPS.rws , Control.Monad.RWS.CPS.runRWS , Control.Monad.RWS.CPS.evalRWS , Control.Monad.RWS.CPS.execRWS@@ -671,18 +668,16 @@ import qualified Data.Function import qualified Data.Functor import qualified Data.Functor.Identity-import qualified Data.HashMap.Lazy import qualified Data.HashMap.Strict import qualified Data.HashSet import qualified Data.Hashable import qualified Data.Int-import qualified Data.IntMap.Strict+import qualified Data.IntMap import qualified Data.IntSet import qualified Data.List import qualified Data.List.Extra import qualified Data.List.NonEmpty-import qualified Data.Map.Lazy-import qualified Data.Map.Strict+import qualified Data.Map import qualified Data.Maybe import qualified Data.Monoid import qualified Data.Ord@@ -725,12 +720,6 @@ -- | Alias for lazy 'Data.ByteString.Lazy.ByteString' type LByteString = Data.ByteString.Lazy.ByteString---- | Alias for lazy 'Data.Map.Lazy.Map'-type LMap = Data.Map.Lazy.Map---- | Alias for lazy 'Data.HashMap.Lazy.HashMap'-type LHashMap = Data.HashMap.Lazy.HashMap -- | A synonym for 'Data.Functor.fmap'. --