universum-0.5: Custom prelude used in Serokell

Safe HaskellTrustworthy
LanguageHaskell2010

Universum

Contents

Description

Main module that reexports all functionality allowed to use without importing any other modules. Just add next lines to your module to replace default ugly Prelude with better one.

    {--}

    import Universum

Synopsis

Reexports from base and from modules in this repo

module Base

Useful classes

class Buildable p #

The class of types that can be rendered to a Builder.

Minimal complete definition

build

Instances

Buildable Bool 

Methods

build :: Bool -> Builder #

Buildable Char 

Methods

build :: Char -> Builder #

Buildable Double 

Methods

build :: Double -> Builder #

Buildable Float 

Methods

build :: Float -> Builder #

Buildable Int 

Methods

build :: Int -> Builder #

Buildable Int8 

Methods

build :: Int8 -> Builder #

Buildable Int16 

Methods

build :: Int16 -> Builder #

Buildable Int32 

Methods

build :: Int32 -> Builder #

Buildable Int64 

Methods

build :: Int64 -> Builder #

Buildable Integer 

Methods

build :: Integer -> Builder #

Buildable Word 

Methods

build :: Word -> Builder #

Buildable Word8 

Methods

build :: Word8 -> Builder #

Buildable Word16 

Methods

build :: Word16 -> Builder #

Buildable Word32 

Methods

build :: Word32 -> Builder #

Buildable Word64 

Methods

build :: Word64 -> Builder #

Buildable WordPtr 

Methods

build :: WordPtr -> Builder #

Buildable IntPtr 

Methods

build :: IntPtr -> Builder #

Buildable Builder 

Methods

build :: Builder -> Builder #

Buildable Text 

Methods

build :: Text -> Builder #

Buildable Text 

Methods

build :: Text -> Builder #

Buildable LocalTime 

Methods

build :: LocalTime -> Builder #

Buildable ZonedTime 

Methods

build :: ZonedTime -> Builder #

Buildable TimeOfDay 

Methods

build :: TimeOfDay -> Builder #

Buildable TimeZone 

Methods

build :: TimeZone -> Builder #

Buildable UTCTime 

Methods

build :: UTCTime -> Builder #

Buildable NominalDiffTime 
Buildable Day 

Methods

build :: Day -> Builder #

Buildable UniversalTime 
Buildable DiffTime 

Methods

build :: DiffTime -> Builder #

Buildable [Char] 

Methods

build :: [Char] -> Builder #

Buildable a => Buildable (Maybe a) 

Methods

build :: Maybe a -> Builder #

(Integral a, Buildable a) => Buildable (Ratio a) 

Methods

build :: Ratio a -> Builder #

Buildable (Ptr a) 

Methods

build :: Ptr a -> Builder #

Integral a => Buildable (Hex a) 

Methods

build :: Hex a -> Builder #

Show a => Buildable (Shown a) 

Methods

build :: Shown a -> Builder #

Useful standard unclassifed functions

evaluateNF :: (NFData a, MonadIO m) => a -> m a Source #

Alias for evaluateWHNF . force with clearer name.

evaluateNF_ :: (NFData a, MonadIO m) => a -> m () Source #

Alias for evaluateWHNF . rnf. Similar to evaluateNF but discards resulting value.

evaluateWHNF :: MonadIO m => a -> m a Source #

Lifted alias for evaluate with clearer name.

evaluateWHNF_ :: MonadIO m => a -> m () Source #

Like evaluateWNHF but discards value.

guarded :: Alternative f => (a -> Bool) -> a -> f a Source #

Version of guard that takes verification function. Can be used in some similar way: safeSum :: Int -> Int -> Maybe Int safeSum a b = do verifiedA guarded (0) a verifiedB guarded (0) b pure $ verifiedA + verifiedB

identity :: a -> a Source #

Renamed version of id.

map :: Functor f => (a -> b) -> f a -> f b Source #

map generalized to Functor.

pretty :: Buildable a => a -> Text Source #

Functions to show pretty output for buildable data types.

prettyL :: Buildable a => a -> LText Source #

Similar to pretty but for LText.

print :: (MonadIO m, Show a) => a -> m () Source #

Lifted version of print.

readEither :: (ToString a, Read b) => a -> Either Text b Source #

Polymorhpic version of readEither.

>>> readEither @Text @Int "123"
Right 123
>>> readEither @Text @Int "aa"
Left "Prelude.read: no parse"

show :: (Show a, IsString b) => a -> b Source #

Generalized version of show.

uncons :: [a] -> Maybe (a, [a]) Source #

Destructuring list into its head and tail if possible. This function is total.

>>> uncons []
Nothing
>>> uncons [1..5]
Just (1,[2,3,4,5])
>>> uncons (5 : [1..5]) >>= \(f, l) -> pure $ f == length l
Just True

unsnoc :: [x] -> Maybe ([x], x) Source #

Similar to uncons but destructuring list into its last element and everything before it.

Convenient type aliases

type LText = Text Source #

Type synonym for Text.

type LByteString = ByteString Source #

Type synonym for ByteString.