plailude-0.4.1: plaimi's prelude

Copyright(c) plaimi 2014
LicenseGPL-3
Maintainerplailude@plaimi.net
Safe HaskellNone
LanguageHaskell2010

Plailude

Description

 

Synopsis

Documentation

both :: Arrow a => a b c -> a (b, b) (c, c)

Send both components of the input through the argument arrow.

erretreat :: (MonadError e m, MonadError e n) => m a -> m (n a)

retreat the value a of a MonadError m further into the MonadError burrito by injecting it into yet another MonadError n, giving us m (n a). If there's an error, it is rethrown inside n.

retreat :: (Monad m, Monad n) => m a -> m (n a)

Retreat the value a of a Monad m further into the Monad burrito by injecting it into yet another Monad n, giving us m (n a).

(.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> d

Compose two functions where the second function takes two values and delivers its result as a single value to the first function.

This is equivalent to: (f .: g) x y = f (g x y).

(.:.) :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e

Compose two functions where the second function takes three values and delivers its result as a single value to the first function.

This is equivalent to: (f .:. g) x y z = f (g x y z).

vbs :: (Stringable a, Stringable b) => a -> b

Convert from a Stringable a to a Stringable b via ByteString.

vbsl :: (Stringable a, Stringable b) => a -> b

Convert from a Stringable a to a Stringable b via ByteString.

vstr :: (Stringable a, Stringable b) => a -> b

Convert from a Stringable a to a Stringable b via String.

vtxt :: (Stringable a, Stringable b) => a -> b

Convert from a Stringable a to a Stringable b via Text.

vtxtl :: (Stringable a, Stringable b) => a -> b

Convert from a Stringable a to a Stringable b via Text.

showL8 :: Show a => a -> ByteString

showL8 converts a showable value to a ByteString using show.

newtype Hour a

A Hour type, for type safety of time units.

Constructors

MkHour Int

Make an Hour, an Int deriving TimeUnit.

Instances

newtype Minute a

A Minute type, for type safety of time units.

Constructors

MkMinute Int

Make a Minute, an Int deriving TimeUnit.

Instances

newtype Second a

A Second type, for type safety of time units.

Constructors

MkSecond Int

Make a Second, an Int deriving TimeUnit.

Instances

newtype Year a

A Year type, for type safety of time units.

Constructors

MkYear Integer

Make a Year, an Integer deriving TimeUnit.

Instances

newtype Month a

A Month type, for type safety of time units.

Constructors

MkMonth Int

Make a Month, an Int deriving TimeUnit.

Instances

newtype Day a

A Day type, for type safety of time units.

Constructors

MkDay Int

Make a Day, an Int deriving TimeUnit.

Instances

class TimeUnit t where

TimeUnits are units of time with a value that's an instance of Num. The class is used to get type safety of time units, and a function for getting "out" the value (analogues to fromJust for Maybe) for every type of Num, for free.

Methods

timeVal :: Num n => t -> n

Get out the value in a TimeUnit. The value's type is polymorphic and constrained to Num.

asSeconds :: Hour h -> Minute m -> Second s -> Second t

asSeconds take some TimeUnits and convert them to Seconds.

fromGregorian :: Year y -> Month mo -> Day d -> Day

fromGregorian is a wrapper for Data.Time.Calendar.fromGregorian, which lets us pass our Year - Month - Day structures. It calls Data.Time.Calendar.fromGregorian with the appropriate types, and returns a Data.Time.Calendar.Day.