Skip to content
/ tempo Public
forked from kipcole9/tempo

Date/Time library for Elixir based upon intervals not instants

License

Notifications You must be signed in to change notification settings

h14h/tempo

 
 

Repository files navigation

Tempo

“Time has no divisions to mark its passage, there is never a thunderstorm or blare of trumpets to announce the beginning of a new month or year. Even when a new century begins it is only we mortals who ring bells and fire off pistols.” Thomas Mann, The Magic Mountain, ch. 5, “Whims of Mercurius,” (1924), trans. by Helen T. Lowe-Porter (1928).

A Time library based upon conceptualizing time as intervals rather than instants. A blog of the ideas behind this library is at https://kipcole9.github.io/tempo/.

There is not much to see here yet, the current work is on implementing full support for ISO8601 dates/times (both part 1 and part 2).

ElixirConf 22 Video on Time Algebra

A talk that introduces a unified time type and builds on the idea of time as intervals is now on Youtube.

Project status

Whilst the commit volume is currently low, the mental effort going into the conceptual model is high. Expect more active progress in this repo during December 2022. The primary effort for the next updates will be time math (which is important for calculating explicit intervals and time differences) and time comparison (which is creating a very active discussion on the elixir-lang core mailing list).

Installation

Tempo is not yet available for installation from hex.pm. And since it has basically no functional utility at the moment, installing it would only be for experimentation and amusement.

def deps do
  [
    {:tempo, "~> 0.1.0", github: "kipcole9/tempo"}
  ]
end

The docs will be found at https://hexdocs.pm/tempo.

About

Date/Time library for Elixir based upon intervals not instants

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%