cronus (empty) → 0.1.0.0
raw patch · 22 files changed
+728/−0 lines, 22 filesdep +basedep +bytestringdep +comonadsetup-changed
Dependencies added: base, bytestring, comonad, containers, deepseq, hashable, mtl, profunctors, text, transformers, unordered-containers, vector
Files
- CHANGELOG.md +5/−0
- Cronus.hs +574/−0
- Cronus/ByteString/Lazy.hs +5/−0
- Cronus/ByteString/Strict.hs +5/−0
- Cronus/Graph.hs +5/−0
- Cronus/HashMap/Lazy.hs +5/−0
- Cronus/HashMap/Strict.hs +5/−0
- Cronus/HashSet.hs +5/−0
- Cronus/IntMap/Lazy.hs +5/−0
- Cronus/IntMap/Strict.hs +5/−0
- Cronus/IntSet.hs +5/−0
- Cronus/Map/Lazy.hs +5/−0
- Cronus/Map/Strict.hs +5/−0
- Cronus/Sequence.hs +5/−0
- Cronus/Set.hs +5/−0
- Cronus/Text/Lazy.hs +5/−0
- Cronus/Text/Strict.hs +5/−0
- Cronus/Tree.hs +5/−0
- Cronus/Vector.hs +5/−0
- LICENSE +5/−0
- Setup.hs +2/−0
- cronus.cabal +57/−0
+ CHANGELOG.md view
@@ -0,0 +1,5 @@+# Revision history for cronus++## 0.1.0.0 -- 2020-07-02++* Created cronus
+ Cronus.hs view
@@ -0,0 +1,574 @@+{-# LANGUAGE NoImplicitPrelude #-}+{- |+Name: Cronus++This module is the big hammer of alternatives to the standard Prelude.+It is meant to optimize compatibility with the standard Prelude and the+various packages which are built on top of it, while exposing types and+functions that I want available to me in the vast majority of "real world+applications."+-}+module Cronus+( +-- ** Bool+ Bool(True, False)+, (&&), (||), not, otherwise+-- ** Maybe+, Maybe(Just, Nothing)+, maybe+, catMaybes+, mapMaybe+, listToMaybe+, maybeToList+, fromMaybe+, isNothing+, isJust+-- ** Eq+, Eq(..)+-- ** Ord+, Ordering(LT, EQ, GT)+, Ord(..)+-- ** Char+, Char+, isControl+, isSpace+, isLower+, isUpper+, isAlpha+, isAlphaNum+, isPrint+, isDigit+, isOctDigit+, isHexDigit+, isLetter+, isMark+, isNumber+, isPunctuation+, isSymbol+, isSeparator+, isAscii+, isLatin1+, isAsciiUpper+, isAsciiLower+, ord+, chr+-- ** Convenience Functions+, fst, snd+, curry+, uncurry+, on+, flip+, const+, until+, (&)+, ($)+-- ** Enum+, Enum(..)+-- ** Bounded+, Bounded(..)+-- ** Numeric Types+, Int+, Int8, Int16, Int32, Int64+, Integer+, Natural+, Float+, Double+, Word+, Word8, Word16, Word32, Word64+-- ** The Numeric Hierarchy+, Rational+, Num(..), subtract+, Real(toRational)+, Integral(..)+, Fractional(..)+, Floating(..)+, RealFrac(..)+, RealFloat(..)+-- ** Functions on Numbers+, even+, odd+, gcd+, lcm+, (^)+, (^^)+, fromIntegral+, realToFrac+-- ** Show+, Show(..)+-- ** Read+, Read(..)+, readMaybe+-- ** Semigroup+, Semigroup(..)+-- ** Monoid+, Monoid(..)+-- ** Functor+, Functor(..)+, (<$>)+, void+-- ** Applicative+, Applicative(..)+, Alternative(..)+, ZipList(..)+, (<**>)+, liftA+, liftA3+, optional+-- ** Monad+, Monad(..)+, mfilter+, mapAndUnzipM+, zipWithM+, zipWithM_+, foldM+, foldM_+, replicateM+, replicateM_+, guard+, when+, unless+, liftM+, liftM2+, liftM3+, liftM4+, liftM5+, ap +, (<$!>)+, MonadPlus(..)+, MonadFail(..)+, mapM_+, sequence_+, (=<<)+, Kleisli(..)+-- ** Foldable+, Foldable(..)+, foldrM+, foldlM+, for_+, for+, maximumBy+, minimumBy+, find+, msum+-- ** Traversable+, Traversable(..)+, traverse_+, sequenceA_+, asum+, forM_+, forM+, mapAccumL+, mapAccumR+-- ** Category+, Category(..)+, (>>>)+, (<<<)+-- ** error and undefined+, error+, undefined+-- ** Strictness+, seq+, ($!)+, deepseq+, ($!!)+, force+, NFData(..)+-- ** List Functions+, reverse+, and+, or+, any+, all+, concat+, concatMap+, scanl+, scanr+, iterate+, repeat+, replicate+, cycle+, take+, drop+, takeWhile+, dropWhile+, span+, break+, splitAt+, notElem+, lookup+, zip+, zip3+, zipWith+, zipWith3+, unzip+, unzip3+-- ** IO+, IO+-- ** ST+, ST+, runST+, STRef+, newSTRef+, writeSTRef+, modifySTRef+, modifySTRef'+-- ** Exceptions+, throwIO+, SomeException+, Exception(..)+, catch+, ArithException(..)+, ArrayException(..)+, AssertionFailed(..)+, SomeAsyncException(..)+, AsyncException(..)+, asyncExceptionToException+, asyncExceptionFromException+, NonTermination(..)+, NestedAtomically(..)+, BlockedIndefinitelyOnMVar(..)+, BlockedIndefinitelyOnSTM(..)+, AllocationLimitExceeded(..)+, CompactionFailed(..)+, Deadlock(..)+, NoMethodError(..)+, PatternMatchFail(..)+, RecConError(..)+, RecSelError(..)+, RecUpdError(..)+, ErrorCall(..)+, TypeError(..)+, throw+, ioError+, IOError+, catches+, Handler(..)+, catchJust+, handle+, handleJust+, try+, tryJust+, evaluate+, mapException+, mask+, mask_+, uninterruptibleMask+, uninterruptibleMask_+, MaskingState(..)+, getMaskingState+, interruptible+, allowInterrupt+, assert+, bracket+, bracket_+, bracketOnError+, finally+, onException+-- ** Typeable+, Typeable(..)+, typeOf+, typeRep+, TypeRep+, (:~:)(Refl)+, (:~~:)(HRefl)+, cast+, eqT+, gcast+, gcast1+, gcast2+, typeRepFingerprint+-- ** Proxy+, Proxy(Proxy)+-- ** Concurrency+, forkIO+, ThreadId+, myThreadId+, forkFinally+, forkIOWithUnmask+, killThread+, throwTo+, forkOn+, forkOnWithUnmask+, getNumCapabilities+, setNumCapabilities+, threadCapability+, yield+, threadDelay+, threadWaitRead+, threadWaitWrite+, threadWaitReadSTM+, MVar+, newMVar+, takeMVar+, readMVar+, swapMVar+, tryTakeMVar+, putMVar+, tryPutMVar+, withMVar+, isEmptyMVar+, modifyMVar_+, modifyMVar+, modifyMVarMasked+, tryReadMVar+, mkWeakMVar+, Chan+, newChan+, writeChan+, readChan+, dupChan+, getChanContents+, writeList2Chan+, QSem+, newQSem+, waitQSem+, signalQSem+, QSemN+, newQSemN+, waitQSemN+, signalQSemN+, rtsSupportsBoundThreads+, forkOSWithUnmask+, isCurrentThreadBound+, runInBoundThread+, runInUnboundThread+, mkWeakThreadId+-- ** ByteString+, ByteString+-- ** Text+, Text+-- ** Ordered Containers+, Graph+, IntMap+, Map+, Set+, Seq+, IntSet+, Tree+-- ** Unordered Containers+, Hashable(..)+, HashMap+, HashSet+-- ** MonadTrans+, MonadTrans(..)+-- ** MonadIO+, MonadIO(..)+-- ** Reader+, ReaderT(..)+, MonadReader(..)+, asks+, Reader+, runReader+, mapReader+, withReader+-- ** State+, StateT(..)+, MonadState(..)+, State+, modify+, modify'+, gets+-- ** CPSed Writer+, WriterT(..)+, MonadWriter(..)+, listens+, censor+, Writer+, runWriter+, execWriter+, mapWriter+, execWriterT+, mapWriterT+-- ** MaybeT+, MaybeT(..)+, mapMaybeT+, maybeToExceptT+, exceptToMaybeT+-- ** ExceptT+, ExceptT(..)+, Except+, except+, runExcept+, mapExcept+, withExcept+, mapExceptT+, withExceptT+, throwE+, catchE+-- ** RWST with CPSed Writer+, RWST(..)+, RWS+, rws+, runRWS+, evalRWS+, execRWS+, mapRWS+, withRWS+, evalRWST+, execRWST+, mapRWST+, withRWST+-- ** Functor Combinators+, Identity(..)+, Const(..)+, Sum(..)+, Product(..)+, Compose(..)+-- ** Contravariant Functor+, Contravariant(..)+-- ** Unique+, Unique(..)+, newUnique+, hashUnique+-- ** Version+, Version(..)+-- ** Void+, Void(..)+-- ** Bitraversable+, Bitraversable(..)+, bisequenceA+, bisequence+, bimapM+, bifor+, biforM+, bimapAccumL+, bimapAccumR+, bimapDefault+, bifoldMapDefault+-- ** Data.Coerce+, Coercible(..)+, coerce+-- ** Dynamic+, Dynamic+, toDyn+, fromDyn+, fromDynamic+, dynApply+, dynApp+, dynTypeRep+-- ** Either+, Either(Left, Right)+, either+, lefts+, rights+, isLeft+, isRight+, fromLeft+, fromRight+, partitionEithers+-- ** Ix+, Ix(..)+-- ** IORef+, IORef+, newIORef+, readIORef+, writeIORef+, modifyIORef+, modifyIORef'+, atomicModifyIORef+, atomicModifyIORef'+, atomicWriteIORef+, mkWeakIORef+-- ** MonadFix+, MonadFix(..)+, fix+-- ** Arrow Operators+, (&&&)+, (***)+-- ** Bifunctor+, Bifunctor(..)+-- ** Profunctor+, Profunctor(..)+, Strong(..)+, Choice(..)+, Closed(..)+, curry'+, Mapping(..)+, Costrong(..)+, Cochoice(..)+, Star(..)+, Costar(..)+, Forget(..)+-- ** Unboxed Vectors+, Vector+, MVector+, Unbox(..)+-- ** Comonads+, Comonad(..)+, liftW+, wfix+, cfix+, kfix+, (=>=)+, (=<=)+, (<<=)+, (=>>)+, ComonadApply(..)+, (<@@>)+, liftW2+, liftW3+, Cokleisli(..)+) where++import Data.Profunctor+import Data.Bifunctor (Bifunctor(..))+import Control.Arrow ((&&&), (***), Kleisli(..))+import Data.Function ((&), ($), on, flip, const)+import Control.Category+import GHC.Num+import Prelude hiding ((.), id)+import Data.Int+import Control.Monad+import Control.Applicative+import Data.Word+import Data.Foldable+import Data.Traversable+import Text.Read+import Control.Monad.ST+import Control.Concurrent+import Control.Exception+import Data.Typeable+import Control.DeepSeq+import Text.Read (readMaybe)+import Data.ByteString (ByteString)+import Data.Text (Text)+import Data.IntMap (IntMap)+import Data.IntMap.Lazy (IntMap)+import Data.Graph (Graph)+import Data.Map (Map)+import Data.Sequence (Seq)+import Data.Set (Set)+import Data.IntSet (IntSet)+import Data.Tree (Tree)+import Data.HashMap.Lazy (HashMap)+import Data.HashMap.Strict (HashMap)+import Data.HashSet (HashSet)+import Data.Hashable+import Control.Monad.Trans+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer (MonadWriter(..))+import Control.Monad.Trans.Writer.CPS+import Control.Monad.Trans.Maybe+import Control.Monad.Trans.RWS.CPS hiding (reader, ask, local, asks, writer, tell, listen, listens, pass, censor, state, get, put, modify, gets)+import Control.Monad.Trans.Except+import Data.Functor.Identity+import Data.Functor.Const+import Data.Functor.Sum+import Data.Functor.Product+import Data.Functor.Compose+import Data.Functor.Contravariant+import Data.Unique+import Data.Version+import Data.Bitraversable+import Data.Void+import Data.Coerce (Coercible, coerce)+import Data.Dynamic+import Data.Maybe+import Data.Either+import Data.Ix+import Data.IORef+import Data.STRef+import Data.Char+import Data.Vector.Unboxed (Vector, MVector, Unbox(..))+import Control.Comonad
+ Cronus/ByteString/Lazy.hs view
@@ -0,0 +1,5 @@+module Cronus.ByteString.Lazy+( module Data.ByteString.Lazy+) where++import Data.ByteString.Lazy
+ Cronus/ByteString/Strict.hs view
@@ -0,0 +1,5 @@+module Cronus.ByteString.Strict+( module Data.ByteString+) where++import Data.ByteString
+ Cronus/Graph.hs view
@@ -0,0 +1,5 @@+module Cronus.Graph+( module Data.Graph+) where++import Data.Graph
+ Cronus/HashMap/Lazy.hs view
@@ -0,0 +1,5 @@+module Cronus.HashMap.Lazy+( module Data.HashMap.Lazy+) where++import Data.HashMap.Lazy
+ Cronus/HashMap/Strict.hs view
@@ -0,0 +1,5 @@+module Cronus.HashMap.Strict+( module Data.HashMap.Strict+) where++import Data.HashMap.Strict
+ Cronus/HashSet.hs view
@@ -0,0 +1,5 @@+module Cronus.HashSet+( module Data.HashSet+) where++import Data.HashSet
+ Cronus/IntMap/Lazy.hs view
@@ -0,0 +1,5 @@+module Cronus.IntMap.Lazy+( module Data.IntMap.Lazy+) where++import Data.IntMap.Lazy
+ Cronus/IntMap/Strict.hs view
@@ -0,0 +1,5 @@+module Cronus.IntMap.Strict+( module Data.IntMap.Strict+) where++import Data.IntMap.Strict
+ Cronus/IntSet.hs view
@@ -0,0 +1,5 @@+module Cronus.IntSet+( module Data.IntSet+) where++import Data.IntSet
+ Cronus/Map/Lazy.hs view
@@ -0,0 +1,5 @@+module Cronus.Map.Lazy+( module Data.Map.Lazy+) where++import Data.Map.Lazy
+ Cronus/Map/Strict.hs view
@@ -0,0 +1,5 @@+module Cronus.Map.Strict+( module Data.Map.Strict+) where++import Data.Map.Strict
+ Cronus/Sequence.hs view
@@ -0,0 +1,5 @@+module Cronus.Sequence+( module Data.Sequence+) where++import Data.Sequence
+ Cronus/Set.hs view
@@ -0,0 +1,5 @@+module Cronus.Set+( module Data.Set+) where++import Data.Set
+ Cronus/Text/Lazy.hs view
@@ -0,0 +1,5 @@+module Cronus.Text.Lazy+( module Data.Text.Lazy+) where++import Data.Text.Lazy
+ Cronus/Text/Strict.hs view
@@ -0,0 +1,5 @@+module Cronus.Text.Strict+( module Data.Text+) where++import Data.Text
+ Cronus/Tree.hs view
@@ -0,0 +1,5 @@+module Cronus.Tree+( module Data.Tree+) where++import Data.Tree
+ Cronus/Vector.hs view
@@ -0,0 +1,5 @@+module Cronus.Vector+( module Data.Vector.Unboxed+) where++import Data.Vector.Unboxed
+ LICENSE view
@@ -0,0 +1,5 @@+This software is provided free of charge, with the following stipulations:++1. Don't blame me if it has problems, read the source code.+2. Please read the source code before you use this code you found online.+3. Have fun.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ cronus.cabal view
@@ -0,0 +1,57 @@+cabal-version: >=1.10++name: cronus+version: 0.1.0.0+synopsis: Another bloated standard library+description: Another bloated standard library.+license: MIT+license-file: LICENSE+author: Samuel Schlesinger+maintainer: sgschlesinger@gmail.com+copyright: (c) 2020 Samuel Schlesinger+category: Prelude+build-type: Simple+extra-source-files: CHANGELOG.md+tested-with: GHC ==8.8.1 || ==8.8.2 || ==8.8.3 || ==8.10.1++source-repository head+ type: git + location: https://github.com/samuelschlesinger/cronus++library+ exposed-modules:+ Cronus,+ Cronus.Text.Strict,+ Cronus.Text.Lazy,+ Cronus.ByteString.Strict,+ Cronus.ByteString.Lazy,+ Cronus.HashMap.Lazy,+ Cronus.HashMap.Strict,+ Cronus.HashSet,+ Cronus.Graph,+ Cronus.IntMap.Strict,+ Cronus.IntMap.Lazy,+ Cronus.IntSet,+ Cronus.Map.Lazy,+ Cronus.Map.Strict,+ Cronus.Sequence,+ Cronus.Set,+ Cronus.Tree,+ Cronus.Vector+ other-extensions:+ NoImplicitPrelude+ build-depends:+ base >=4.10 && <5,+ deepseq >=1.4 && <1.5,+ text >=1.0 && <1.3,+ bytestring >= 0.8,+ containers >= 0.6 && <0.7,+ unordered-containers >=0.2 && <0.3,+ hashable >=1.0 && <1.4,+ transformers >=0.5.6 && <0.5.7,+ mtl >=2.2 && <2.3,+ profunctors >=5.5 && <5.6,+ vector >=0.10 && <0.13,+ comonad >=5.0 && <5.1+ default-language:+ Haskell2010