タグ

ブックマーク / d.hatena.ne.jp/mooz (3)

  • オレ標準 JavaScript 勉強会で def.js について発表してきました - mooz deceives you

    オレ標準 JavaScript 勉強会 で def.js について発表してきました. 発表資料は以下になります. また, ソースコードを読む際にメモを取っていたので, それも公開しておきます. スライドではコードの一部分のみしか取り上げることが出来なかったので, def.js の全容を把握したいという方は参考にしてみてください. メモ付きソースコード 発表 「こんなものを作ってみました, やってみました」という発表が出来れば良かったのですが, 特にアイディアも浮かばなかったため一週間ほど前に知り気になっていた def.js の解説をやろうということに. 「100 行も無いコードだしすぐに読めるだろう」と余裕をこいて前日の夜中にソースコードを読み始めたのですが, 様々なテクニックの駆使された濃いコードにかなり手間取ってしまい, その日は結局動作の仕組みを理解するだけで精一杯. 当日の朝から資

  • JavaScript の分割代入まとめ - mooz deceives you

    幻の ECMAScript 4th 幻となった ECMAScript 4th のドラフトを眺めていたところ, p.33 に Destructuring assignment and binding (分割代入, 分割束縛) という項目を発見した. 分割代入に関しては JavaScript 1.7 (Firefox などが用いる SpiderMonkey や Rhino に実装済み) から使用が可能であるため, ご存知の方も多いのではないかと思う. 「そういえば詳しい仕様は見たことがなかったな」と軽い気持ちで読み進めていたところ, そこに述べられていることが Haskell や OCaml など関数型言語におけるパターンマッチと同等であると分かり, 驚いた. 例えば, 分割代入においては次のように deep なパターンが利用可能であると書かれている. let { x: {a, b}, y:

  • JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you

    MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき

    JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you
  • 1