(.module: [lux #* ["." time] [abstract [equivalence (#+ Equivalence)] [monad (#+ do)]] [control ["<>" parser ["<.>" text (#+ Parser)]]] [data ["." product] [text ["%" format (#+ Format)]]]] ["." / #_ ["#." date] ["#." time]]) (type: #export Time [/date.Date /time.Time]) (def: #export epoch Time [/date.epoch time.midnight]) (def: #export equivalence (Equivalence Time) (product.equivalence /date.equivalence time.equivalence)) (def: #export (format [date time]) (Format Time) (%.format (/date.format date) (/time.format time))) (def: #export parser (Parser Time) (do <>.monad [date /date.parser time /time.parser] (wrap [date time])))