[RFC] Sibyl: Time Series Analysis in Haskell
Haskell Community [Unofficial]
March 19, 2026
It essentially works, so far, as an import facade layer. So if you want access to the underlying (safe) functions you just import the module itself: i.e. import Sibyl.Forecast instead of just import Sibyl. The top-level module exposes all the ‘unsafe’ wrapper functions, and each individual module is safe by default. This might make things a little annoying for users that want to mix both layers in their applications, but you can just import the individual module (probably qualified) and hide its wrapped functions using the hiding keyword. This is still up for debate, though, and I’ve often thought of moving every module to its own Safe domain and renaming the top-level wrapper layer to Unsafe, as in Sibyl.Unsafe and Sibyl.Safe.Module
Discussion in the ATmosphere