An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

time-interval

Two common ways to represent and hold short time intervals seem to be: Hold time in microseconds as an Int or Integer Use time units abstraction, e.g. see the time-units package While the second option is a great abstraction to use in APIs, it works for datatypes a bit less well than for function types. That's because a datatype which a Data.Time.Units.TimeUnit field suddenly becomes polymorphic over that field, and all function type signatures involving that datatype need to be updated. This is less an issue for functions, because you don't specify the type of every function at the call site. Perhaps there is a solution for that which involves datatype related language extensions, but this package tries to offer a simple clean solution as follows. You store time in your datatype as an integer, but it is wrapped by an opaque Data.Time.Interval.TimeInterval type. You then get the best of both worlds: On one hand, you can set the time field using any time unit thanks to the time-units package, so you get a nice abstraction On the other hand, your datatype holds a concrete time type The time type can be equally used to represent time intervals, time durations and generally time lengths. But since high precision is used (microseconds), you'll probably want this library for short time lengths (at most seconds, minutes, hours). For calendar based and related time functions and types, see the time package.

Ecosystem
hackage.haskell.org
Latest Release
0.1.1
almost 10 years ago
Versions
2
Downloads
5,036 total
Links
Registry hackage.haskell.org
Homepage Homepage
JSON API View JSON
CodeMeta codemeta.json
Package Details
PURL pkg:hackage/time-interval
spec
License Other
First Release over 10 years ago
Last Synced 1 day ago