UnicodeInHaskellSource

GHC 6.6 allows UTF-8 in strings, so we can do this:

import System.Time

main :: IO ()
main = do
  time <- getClockTime
  cal <- toCalendarTime time
  putStrLn $ dayName $ ctWDay cal

dayName :: Day -> String
dayName d = case d of
              Monday -> "月曜日"
              Tuesday -> "火曜日"
              Wednesday -> "水曜日"
              Thursday -> "木曜日"
              Friday -> "金曜日"
              Saturday -> "土曜日"
              Sunday -> "日曜日"

but it only allows UTF-8 in identifiers for codepoints that it has case information about, so we can't do this:

import System.Time

月曜日 :: Day
月曜日 = Monday

火曜日 :: Day
火曜日 = Tuesday

水曜日 :: Day
水曜日 = Wednesday

木曜日 :: Day
木曜日 = Thursday

金曜日 :: Day
金曜日 = Friday

土曜日 :: Day
土曜日 = Saturday

日曜日 :: Day
日曜日 = Sunday