Hatena::ブログ(Diary)

あどけない話

2008-10-22

Haskell で日本語の関数名は使えるか?

世界のナベアツにHaskellで挑戦する」からトラックバックを頂いて、日本語で挑戦できないかと思い調べてみました。

GHC に -XUnicodeSyntax なるオプションを発見。胸は高まりましたが、これは一部の記号が使えるだけだと分りました。利用できる記号の一覧がどこにもないので、ソースを読んだところ、以下の6つだけ使えることが判明しました。

::
=>
forall
->
<-
..

λさえ使えません!

なお、拡張の指定は、以下のようにソース中にも書けます。

{-# LANGUAGE UnicodeSyntax #-}

結局、GHC でも日本語の関数名は使えないと分りました。orz

mokehehemokehehe 2008/10/22 21:13 調べてくださってありがとうございます。
Unicode でもソース中に埋め込めないのは残念ですね。
シンボルの先頭が大文字か小文字かで関数かどうかを区別する必要があるからでしょうか。

kazu-yamamotokazu-yamamoto 2008/10/23 10:35 「先頭が大文字」と「それ以外」というルールを作ればいいだけのように思います。単にユーザからの強い要望がないので、未実装なのでしょうね。

TTSYTTSY 2008/10/24 00:38 GHC6.10.1では日本語の関数名が使えるはずです。しかしなぜか句読点は使用できませんでした。ひらがな、カタカナ、漢字しか使用できないのかもしれません。

kazu-yamamotokazu-yamamoto 2008/10/24 10:07 そうですか! 昨日、beta を取ってきて、ソースを読んだのですが、気付きませんでした。web にも書かれていませんね。。。

句読点が使えないのは、Unicode の normazile の関係かもしれません。全角のアルファベットも使えない感じなら、それが理由である可能性があると思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証