タグ

2009年6月17日のブックマーク (2件)

  • 試作言語Yellow - takuto_hの日記

    http://www.geocities.jp/takt0_h/yellow/index.html Yellowは、拙作の言語Cyanに対する私の不満を解消するために設計されました。Cyanと比べて以下のような特徴があります。 構文木を表すオブジェクトの種類を最低限に減らした パッケージシステムを導入した また、処理系の特徴としては、 継続を中心とする評価システムを実装した 継続の効率化を図った などが挙げられます。それぞれについて、簡単に説明していきます。 構文木の単純化 Cyanの構文木は、porter, quote, function, parameters, blockなど、多くの種類のオブジェクトを用いて表現していました。Yellowではこれらをメッセンジャーとリストによって置き換えます。 foo() # foo.$|()|() と同じ 'foo # quote.$|()|(fo

    試作言語Yellow - takuto_hの日記
  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常
    rosylilly
    rosylilly 2009/06/17
    驚異的なすばらしさ