タグ

ブックマーク / mas454.hatenadiary.org (2)

  • 人工無能を書いてみる - mas454の日記

    lisp on yarvでマクロが使えるようになったので、そろそろ何かプログラム書いて みようということで、「恋するプログラム—Rubyでつくる人工無脳」というを参考に、人工無能を書いていこうと思います。 このには、いろいろと思い入れがあります。はじめて自分で作ったと言えるようなプログラムは、このを参考にして、javaで作った人工無能です。 このがなかったらプログラム書けるようにならなかったと思います。 それから、Lispの処理系を作り始めたきっかけのひとつは、自分で作った人工無能をLispで書き直してみたいと思ったことです。 いつのまにか処理系を作るのが目的になり、この3年間まったく人工無能は書いていなかったので、いい機会なので人工無能を書いてみようと思います。 とりあえず一番単純なものを書いてみました。 (defclass Responder (def (initialize

    人工無能を書いてみる - mas454の日記
  • 演算子を追加する機能 - mas454の日記

    Rubyを改造して演算子を追加する機能を実装してみました。 http://github.com/mas454/spcamp-ruby operator 追加したい演算子名 で演算子を追加することができます。 実際に使うと、こんな感じです class Fixnum def add(y) self + y end end operator add puts 10 add 20 #30が表示される。 それから、 operator × * operator ÷ / 10 + 10 × 2 10 + 10 ÷ 2operator × * のように演算子を追加することもできます。 このように追加した場合、×の優先順位は*と同じになります。

    演算子を追加する機能 - mas454の日記
  • 1