{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-|
Module: TextShow.System.Time
Copyright: (C) 2014-2017 Ryan Scott
License: BSD-style (see the file LICENSE)
Maintainer: Ryan Scott
Stability: Provisional
Portability: GHC
'TextShow' instances for data types in the @old-time@ library.
/Since: 2/
-}
module TextShow.System.Time () where
import System.IO.Unsafe (unsafePerformIO)
import System.Time (ClockTime, TimeDiff, CalendarTime, Month, Day,
calendarTimeToString, toCalendarTime)
import TextShow (TextShow(..), fromString)
import TextShow.TH (deriveTextShow)
-- | /Since: 2/
instance TextShow ClockTime where
showb = fromString . calendarTimeToString . unsafePerformIO . toCalendarTime
-- | /Since: 2/
$(deriveTextShow ''TimeDiff)
-- | /Since: 2/
$(deriveTextShow ''CalendarTime)
-- | /Since: 2/
$(deriveTextShow ''Month)
-- | /Since: 2/
$(deriveTextShow ''Day)