Merged a pretty big update to my Haskell bindings to swiss ephemeris:
- Refactored the time type to be able to type-safely work with universal or ephemeris types without mixing them up.
- Introduced a way to generate and read "precalculated" ephemeris in a binary file, making sequential reads of multi-planet ephemeris much faster.
- Ported a few functions for heliocentric "crossing" finding (when a given planet may cross a given longitude,) as well as a couple of original functions not provided by the underlying C library: geocentric crossing if the rough beginning and end times are known, and when a moon phase may become exact.
- Ported functions for eclipses and planetary phenomena.
Whole thing at: https://github.com/lfborjas/swiss-ephemeris/pull/37