time-1.2.0.2: test/LongWeekYears.hs
{-# OPTIONS -Wall -Werror #-}
module Main where
import Data.Time.Calendar.WeekDate
import Data.Time.Calendar
longYear :: Integer -> Bool
longYear year = case toWeekDate (fromGregorian year 12 31) of
(_,53,_) -> True
_ -> False
showLongYear :: Integer -> IO ()
showLongYear year = putStrLn ((show year) ++ ": " ++ (if isLeapYear year then "L" else " ") ++ (if longYear year then "*" else " "))
main :: IO ()
main = do
mapM_ showLongYear [1901 .. 2050]