Custom prelude used in Serokell



  • #90: Improve project structure.
  • #89: Add export of Universum.Nub module to Universum.
  • Add listToMaybe to Universum.Monad.Reexport.
  • #81: Make putText and putLText to be versions of putStr. Add putTextLn and putLTextLn -- versions of putStrLn.
  • #5: Add safe versions of head, tail, init, last functions for NonEmpty list. Old head (which returns Maybe) is renamed to safeHead. Reexports from safe are removed.
  • Remove unsnoc (this function is very slow and shouldn't be used).
  • #88: Add HasCallStack => to error and undefined functions.
  • #58: Make Element type family be associated type family. Remove {-# OVERLAPPABLE #-} instance for ToList and Container. Add default instances for basic types. Remove WrappedList newtype because it's not needed anymore. Remove NontrivialContainer constraint alias.
  • #56: Make elem and notElem faster for Set and HashSet by introducing ElementConstraint associated type family.


  • Change base version to be < 5.


  • #79: Import '(<>)' from Semigroup, not Monoid.
  • Improve travis configartion.
  • #80: Rename Container to ToList, NontrivialContainer to Container. Keep NontrivialContainer as type alias.
  • Rename Containers module to Container.Class.
  • Move all container-related reexports from Universum to Container.Reexport.
  • Add default implementation of null function.
  • Add WrappedList newtype with instance of Container.
  • Improve compile time error messages for disallowed instances.


  • #83: Change the order of types in show and print functions.
  • Move string related reexports and functions to Conv module.
  • Rename Conv module to String.
  • Move print function to Print module.
  • #77: Add modify' function to export list.

  • #69: Document SuperComposition operator (...).


  • #68: Separate all 'nub' functions to Nub module, add sortNub and unstableNub there.
  • #54: Reorganize .cabal.
  • #21: Add benchmarks.
  • #65: Use TypeNats instead of TypeLits when possible.


  • #47: Reexport put and get for MonadState.
  • #48: Export boxed Vector type.
  • #49: Export IdentityT and runIdentityT.
  • #51: Add fromRight and fromLeft that behave like fromMaybe but for Either.
  • #52: Add maybeToMonoid :: Monoid m => Maybe m -> m.
  • Remove Symbol-related types for sure.
  • Return back seems to be useful function guardM removed in v0.3.
  • Add notElem for NonTrivialContainer.


  • Fixed version number bug (it had 4 numbers).

  • #62: Export exceptions-related functions from 'safe-exceptions'.


  • Fix an infinite loop in decodeUtf8 from Text to ByteString.Lazy.


  • Export MonadTrans typeclass.
  • Remove Symbol-related exports from GHC.TypeLits.
  • Remove SrcLoc and Location reexports from GHC.ExecutionStack.
  • Add With type operator.
  • Add hashNub.
  • Export strict StateT instead of lazy.


  • Assign associativity and priority to (...), export typeclass itself.


  • #25: Add vararg functions composition operator (...).
  • Rewrite concatMapM & concatForM so that they allow traversed and returned-by-function container types differ.


  • Reexport sortWith from GHC.Exts.


  • Add haddock documentation with 100% coverage.
  • Rewrite README tutorial.
  • #37: Add generalized version of readEither.
  • #38: Add evaluateNF, evaluateNF_, evaluateWHNF, evaluateWHNF_.
  • #39: Add lifted versions of IORef functions.
  • Remove foreach
  • Reexport (&&&) from Control.Arrow.
  • Add lifted version of readTVarIO.
  • interact and getContents work with Lazy Text.
  • Reexport MaybeT, maybeToExceptT, exceptToMaybeT.


  • #28: Remove putByteString and putLByteString.
  • #29: Remove panic, FatalError and notImplemented. Rename NotImplemented into Undefined.
  • #32: Remove orAlt, orEmpty, liftAA2, eitherA, purer, <<*>>, traceIO, guardM, hush, tryIO, liftM', liftM2', applyN, guardedA, Bifunctor instances for tuples of length higher than 2. Generalize concatMapM, add concatForM and operator versions.
  • #35: Generalize andM, orM, allM, anyM over container type.


  • #33: Add ($) and Each type operators.


  • #24: Add whenNothing, whenNothing_, whenNothingM, whenNothingM_, whenLeft, whenLeftM, whenRight, whenRightM, whenNotNull, whenNotNullM.
  • #26: Add usingReader, usingReaderT, usingState, usingStateT, executingState, executingStateT, evaluatingState, evaluatingStateT.
  • Remove maybeToEither.


  • Add one (similar to singleton).
  • Expose Symbol and Nat types from GHC.TypeLits by default.
  • Export genericLength and other generic list return functions.
  • Rename msg to fatalErrorMessage.
  • Export ExceptT
  • Export ReaderT, and StateT constructors.
  • Export NonEmpty type and constructor for Base 4.9 only.
  • Export Data.Semigroup type and functions for Base 4.9 only.
  • Export String.


  • Add lenses from microlens.
  • Add (<&>).
  • Reexport (&) from Data.Function if it's present there instead of always defining our own (this is actually done by reexporting it from Lens.Micro which does the right thing).
  • Fix a space leak in whenJust.


  • Use custom classes instead of Foldable. Thanks to this, length and similar functions can't anymore be used on tuples or Maybe, but can be used on e.g. Text, ByteString and IntSet.

  • Add allM, anyM, andM, orM.

  • Reexport fail and MonadFail.


  • Expose putByteString and putLByteString monomorphic versions of putStrLn functions
  • Switch exported (<>) to be from Data.Monoid instead of Semigroup.
  • Export Hashable


  • Generalize most IO functions to MonadIO
  • Make die available for older versions of base


  • Make sum and product strict


  • foreach for applicative traversals.
  • hush function for error handling.
  • tryIO function for error handling.
  • pass function for noop applicative branches.
  • Mask Handler typeclass export.
  • Mask yield function export.


  • Export monadic (>>) operator by default.
  • Add traceId and traceShowId functions.
  • Exportreader and state functions by default.
  • Export lifted throwIO and throwTo functions.


  • Add uncatchable panic exception throwing using Text message.
  • Remove printf
  • Remove string-conv dependency so Stack build works without extra-deps.
  • Bring Callstack machinery in for GHC 8.x.
  • Remove throw and assert from Control.Exception exports.
  • Remove unsafeShiftL and unsafeShiftR from Data.Bits exports.
  • Reexport throw as unsafeThrow via Unsafe module.
  • Hides all Show class functions. Only the Class itself is exported. Forbids custom instances that are not GHC derived.
  • ExportencodeUtf8`` anddecodeUtf8`` functions by default.
  • Adds unsnoc function.


  • Initial release.
comments powered byDisqus