Haskell ハポネス

2003年版のhugsは日本語が使えませんでしたが、
2005年版からUnicodeに対応して日本語が使えます。(未確認)
2006年1月27日にWinHugs2なる物がリリースされましたので、今回からこれを使用することにします。
まず、期待していた日本語が使えるか確認。

-- comp.hs
-- comp: comparison of A with B
-- 2つのStringを入力し、同じであればoと評価。
-- 異なっていればxと評価する。

module Main(main) where

comp a b = do
	if a == b
		then do
			putStr"o\n"
		else do
			putStr"x\n"	
	putStr"\n"

main = do
	putStr"itigo to itigo\n"
	comp "itigo" "itigo"

	putStr"itigo to meron\n"
	comp "itigo" "meron"
	
	putStr"苺 to 苺\n"
	comp "苺" "苺"

	putStr"いちご to メロン\n"
	comp "いちご" "メロン"


--出力結果
{-	
itigo to itigo
o

itigo to meron
x

苺 to 苺
o

いちご to メロン
x
-}

OKですね。

気になる点が2つ。
Open Source WEBさんのところでも解説されているように、日本語リテラルエスケープされてしまう。
それからIOから日本語が認識されないんですよね…。
これについては次回。