Turning some experiments into a library for "almanac"-style queries for celestial phenomena, excited to leverage some fancier types and abstractions to make it both expressive and performant!
First release candidate of my little library to work with pre-calculated ephemeris data to find events of interest: https://github.com/lfborjas/almanac
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.