Time algebra - a new way to think about and work with time
Kip Cole works in the IT industry, but not as a developer. A weekend project to learn Elixir in 2016 has turned into a passionate commitment to deliver I18n and L10N libraries for Elixir with
ex_cldr. He’s now also working on image processing and a new approach to time types in Elixir.
Time is hard. Made harder by the traditional representation of time in computer languages. Why do we have separate types for dates, times and date time? Why can we express “11am”, which can be on any day, but we can’t say “November” without specifying the year and day? Why is it challenging to answer the question “A month after February 28th”? This talk presents a new way to think about time: time as an interval rather than a moment. This opens up new opportunities to express dates, times and date times in a unified manner. It allows enumeration of all time types, repeating patterns and time algebra that is both more expressive and less error prone that current language constructs. Lastly, a new Elixir library “Tempo” is introduced that implements these concepts with a demonstration Livebook.