Skip to content

Type-level representations of time periods

License

Notifications You must be signed in to change notification settings

mbg/time-units-types

Repository files navigation

time-units-types

MIT Build Hackage

This Haskell library exports types which can be used to describe simple type periods at the type-level. The type-level descriptions can then be reifed to corresponding values of the time-units library.

{-# LANGUAGE TypeApplications #-}

import Data.Time.TypeLevel

type TenSeconds = 'Second 10

main :: IO ()
main = do
    -- `durationVal` converts the type-level specification to a corresponding
    -- value from "Data.Time.Units"
    print $ durationVal @TenSeconds
    -- `durationMicroseconds` converts the type-level specification to a
    -- corresponding integer value, representing microseconds
    print $ durationMicroseconds @TenSeconds

See the Haddock documentation for a reference of all supported units.

See also

Related/similar projects:

About

Type-level representations of time periods

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published