さかいです。

From: Nobuo Yamashita <nobsun / sampou.org>
Date: Sat, 13 Dec 2003 00:25:56 +0900 (JST)

> FYI
> 
> テストバージョンらしいですが、
> http://www.golubovsky.org/software/hugs-patch/hugs_unicode_test.html
> というのがあります。
> 
> $ ./configure --enable-unicode-chars=locale
> 
> とやってからmakeするとすくなくとも、LANG=ja_JP.eucJP になっている場合
> EUC-JP で日本語がつかえます。(他はチェックしてませんが)。。。
> 
> Prelude> length "日本語"
> 3
> 
> Char 型がちゃんと1文字を表現しています。

おぉ、素晴らしい!

ただ、--enable-unicode-chars=locale でコンパイルした場合には、
「wchar_t = Unicode」という一般には成り立たない仮定をしてしまっているので、
LinuxやWin32では正しく動いても、*BSDやSolarisでは正しく動かないはずです。

> ということで、Text.Regex ライブラリも使えるはずです。

まだ試してないのですが、
現在の Text.Regex の実装は regex.h の wrapper に過ぎないので、
Foreign.C.String にある HaskellのString と Cのchar* の変換コードが
Unicodeに対応していない現状では、多分使えないと思います。

# regex.h の扱うエンコーディングはlocale依存なので
# すべてのUnicode文字を処理できるとは限らないですし、
# regex.hを使うのはやめて、
# * Unicode用の正規表現エンジンをどこからか拾ってくるか、
# * Haskellで正規表現エンジンを書く :-)
# というのが正解なのかなぁ...

--
酒井 政裕 / Masahiro Sakai

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/