(.module: [lux #* [abstract [equivalence (#+ Equivalence)] [monad (#+ do)]] [control ["." exception (#+ exception:)] ["<>" parser ["<.>" text] ["<.>" xml (#+ Parser)]]] [data [text ["%" format]] [format ["." xml (#+ XML)]]] [time ["." instant (#+ Instant)]]] ["." /// #_ [time ["#." date] ["#." time]]]) (type: #export Time Instant) (def: #export equivalence (Equivalence Time) instant.equivalence) (def: separator ".") (def: #export (format value) (%.Format Time) (%.format (///date.format (instant.date value)) ..separator (///time.format (instant.time value)))) (def: #export parser (.Parser Time) (do <>.monad [date ///date.parser _ (.this ..separator) time ///time.parser] (wrap (instant.from_date_time date time))))