«前の日記(2007-08-29) 最新 次の日記(2007-08-31)» 編集

Matzにっき


2007-08-30 [長年日記]

_ [Ruby] M17Nミーティング

ささだくんのところの場所を借りてM17Nミーティング。 今までの議論を忘れてたりして落ち込む。

結局、今回いろいろ話してて、新たに具体的に決まったのは、Rubyのリテラル強化。

  • \uXXXX -> Unicodeリテラル
  • \u{XXX...} -> Unicodeリテラル(4ビットから32ビットまで)
  • \N{name} -> Unicodeリテラル、名前参照

ただし、以下の場合には事前に専用のライブラリをrequireする必要がある。

  • UTF-8でないエンコーディングでの\u表記
  • \N表記

そのこころは、

  • \uはUnicodeコード番号でないと使いにくい
  • サロゲートペアは根絶したい

である。\Nなどに専用ライブラリを必要とする点はPerl譲りである。 ただし、useのないRubyでは「事前にライブラリをrequireする」仕組みから 用意しないといけない。

あと、-Kの扱いや統一内部コードの問題もあるのだが、 結論を出せなかった。「文字」の問題(Unicode結合文字とか)に 時間を取りすぎたか。

なんだかんだ言って、M17Nが足を引っ張りそうだなあ。 「今月中に仕様をFIXせよ」との、ありがたい「ささだ指令」をいただく。

泣きそう。

_ [言語] Rebel Science News: The Seven Deadly Sins of Erlang

「Erlang七つの大罪」とかいうからどんなんかなと思って読んだら、 ほとんどいいがかり。なんなんだよ「It is a computer language (based on English).」とか。

どうやら、COSAという「言語?」のファン(自分が作ってるんではないらしい)で そちらをほめたいから他の言語をけなすという行為に出てるようなんだが、 逆効果でないかな。

_ lucille development blog >> Blog Archive >> Xorshift RNGs

xorとbit shiftだけを作った(擬似)乱数生成器。

私は算数弱いんでよく理解できないんだけど、こんなにコンパクトなコードで 質の高い乱数が生成できるって言うんなら、それはすごいことではないだろうか。

本日のツッコミ(全5件) [ツッコミを入れる]
_ --; (2007-09-11 01:06)

今か今かと待ち構えております。

_ sage (2007-09-12 01:29)

Erlang七つの大罪に追加で<br><br>「エルラング」と読む方がかっこいい

_ 成瀬 (2007-09-12 16:53)

>UTF-8でないエンコーディングでの\u表記<br>Unicode系以外でも\u表記を許すのですか?専用ライブラリのロードが必要だとしても、Shift_JISの"\u3042"が「あ」になるのも、"\u82A0"が「あ」になるのも違和感があるのですが・・・。"\x{82A0}"ならわかりますが。<br>>サロゲートペアは根絶したい <br>土吉(U+20BB7)をUTF-16で表す際に"\u{20BB7}"のみ許し、"\ud842\udfb7"を排除したいという解釈で正しいのでしょうか。個人的には\u{20bb7}のみを許すべきで、"\ud842\udfb7"は禁止すべきに感じます。<br><br>ところで、統一内部コードってなんですか?

_ まつもと (2007-09-12 17:02)

>UTF-8でないエンコーディングでの\u表記 <br>許します。この場合、コードポイントはUnicodeのものになります。<br>対応する文字がない場合にはエラーになります。<br>>サロゲートペアは根絶したい <br>"\ud842\udfb7"を禁止すると言う意味です。エラーになります。<br><br>>統一内部コードってなんですか?<br>もうちょっと考えがまとまってからリストに書きます。<br>考えをまとめる時間と心の余裕が....。

_ 成瀬 (2007-09-12 22:23)

>\uはUnicodeコードポイント<br>なるほど、裏で変換するわけですね。<br>>統一内部コード<br>楽しみに待ってます。

お名前:
E-mail:
コメント:
[]

«前の日記(2007-08-29) 最新 次の日記(2007-08-31)» 編集

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.