[RFC] Sibyl: Time Series Analysis in Haskell
Haskell Community [Unofficial]
March 22, 2026
When looking at Sibyl.TimeSeries it seems that the concept of time is just any type t that has Unbox and Ord instances. Does that mean a time series is a collection of singular events along some totally ordered domain?
I work with time series a lot, and the two problems that arise most frequently are
- Values associated with time intervals rather than singular time points, and finding intersections between those intervals. Hours, days, weeks, months…
- Converting between time representations, when matching time series from different sources.
Only in the most regular scenarios can a time interval be represented by a single LocalTime, e.g. when the sampling is equi-distant and the time zone never changes. The implementation of Sibyl.Safe.TimeSeries.diff indicates that you are thinking exclusively about this scenario.
Discussion in the ATmosphere