ZTJDYWFYLI64T32Q4LPOTRPY5SA7EBFY62WRILOLSCF2VFAOSBAQC
### [TODO]{.todo .TODO} Relax for a few days and watch how interactive programs are being composed {#relax-for-a-few-days-and-watch-how-interactive-programs-are-being-composed}
### TODO Relax for a few days and watch how interactive programs are being composed {#relax-for-a-few-days-and-watch-how-interactive-programs-are-being-composed}
### [TODO]{.todo .TODO} Get back to the real-world example and make it a complete Cabal project. {#get-back-to-the-real-world-example-and-make-it-a-complete-cabal-project.}
### TODO Get back to the real-world example and make it a complete Cabal project. {#get-back-to-the-real-world-example-and-make-it-a-complete-cabal-project.}
# Snippets
## Date -> nombre de secondes depuis 1970
import Date.Time
import Date.Time.Clock.POSIX
toSeconds x = utcTimeToPOSIXSeconds time
where
time = UTCTime (fromJust day) hour
day = parseTimeM True defaultTimeLocale "%Y-%m-%d" x :: Maybe Day
hour = timeOfDayToTime (TimeOfDay 14 0 0)
## [TODO]{.todo .TODO} Regarder pourquoi OPTION~RADIO~ ne passe pas (cf test) {#regarder-pourquoi-optionradio-ne-passe-pas-cf-test}
## TODO Regarder pourquoi OPTION~RADIO~ ne passe pas (cf test) {#regarder-pourquoi-optionradio-ne-passe-pas-cf-test}