Maintainer | plailude@plaimi.net |
---|---|

Safe Haskell | None |

- (.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
- (.:.) :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
- showL8 :: Show a => a -> ByteString
- newtype Hour a = MkHour Int
- newtype Minute a = MkMinute Int
- newtype Second a = MkSecond Int
- newtype Year a = MkYear Integer
- newtype Month a = MkMonth Int
- newtype Day a = MkDay Int
- class TimeUnit t where
- asSeconds :: Hour h -> Minute m -> Second s -> Second t
- fromGregorian :: Year y -> Month mo -> Day d -> Day

# Documentation

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

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 -> eSource

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).

showL8 :: Show a => a -> ByteStringSource

`showL8`

converts a showable value to a `ByteString`

using `show`

.

A `Hour`

type, for type safety of time units.

A `Minute`

type, for type safety of time units.

A `Second`

type, for type safety of time units.

A `Year`

type, for type safety of time units.

A `Month`

type, for type safety of time units.

A `Day`

type, for type safety of time units.

`TimeUnit`

s 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.