タグ

ブックマーク / wasabiz.hatenablog.com (2)

  • JSXでLispつくってみた - IT系で覚醒めたい

    https://github.com/wasabiz/lisp.jsx あえてSchemeではなく伝統的なダイナミックスコープのLispを作ってみた。 ぱぱっと仕上げるつもりだったけど3時間かかってしまったので精進がたりない。 動的スコープLispの効率的な作り方でなやんで一時間ぐらい費やしたような気がするけどまぁきにしない。 結局は一番最初におもいついたsymbol-valueをstackにするという方法にした。 ていうかこんなんでいいのか…? 調べたかぎりschemeの作り方のノウハウはいっぱい見つかったけどLispのノウハウは全然見つからなかった。 なんでだろう。みんなschemeばっかりでLispを自作とかしないの… とにかく現時点で動くのはfactorialのみ。defun/progn/if/=/*/-しか実装していない。(quoteすらない!) JSXにしたのは特に理由はない。

    rin51
    rin51 2012/09/29
    shiroさんが
  • Schemeインタプリタ作ったので実装の方針とか苦労した点などまとめてみる(いろいろ追記 - IT系で覚醒めたい

    一昨日ブログに書いたPicricというScheme処理系について、プログラミングしたときの方針とか、そのへんをまとめてみます。 Scheme(Lisp)の処理系は実装が簡単簡単と言われる割にその実装方法についてまとめられたサイトがほとんどなくて、僕自身調べるのにかなり苦労しました。もうこれ以上僕みたいな犠牲者を出したくありません。 とはいえいろいろ間違ってる箇所もあるかと思いますので気づいた方はコメントをおねがいします。 まずPicricについて。 実は昔々(今年春)NLispというものを作った。 Pythonで実装されたSchemeのサブセット。 継続が実装されていなかった。 今度こそは継続を!pythonからも脱脚して一人前になりたい! そんな動機で開発を始める。 名前の由来はピクリン酸。 ピクリン酸はそのやたら可愛い名前にも関わらず実はものすごい爆薬。 そういう「意外とすごい」インタ

    rin51
    rin51 2011/08/20
  • 1