plailude-0.1.0: plaimi's prelude

Maintainerplailude@plaimi.net
Safe HaskellNone

Plailude

Description

 

Synopsis

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

newtype Hour a Source

A Hour type, for type safety of time units.

Constructors

MkHour Int

Make an Hour, an Int deriving TimeUnit.

Instances

newtype Minute a Source

A Minute type, for type safety of time units.

Constructors

MkMinute Int

Make a Minute, an Int deriving TimeUnit.

Instances

newtype Second a Source

A Second type, for type safety of time units.

Constructors

MkSecond Int

Make a Second, an Int deriving TimeUnit.

Instances

newtype Year a Source

A Year type, for type safety of time units.

Constructors

MkYear Integer

Make a Year, an Integer deriving TimeUnit.

Instances

newtype Month a Source

A Month type, for type safety of time units.

Constructors

MkMonth Int

Make a Month, an Int deriving TimeUnit.

Instances

newtype Day a Source

A Day type, for type safety of time units.

Constructors

MkDay Int

Make a Day, an Int deriving TimeUnit.

Instances

class TimeUnit t whereSource

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 :: (TimeUnit t, Num n) => t -> nSource

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 tSource

asSeconds take some TimeUnits and convert them to Seconds.

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

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.