packages feed

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]