2009-09-01から1ヶ月間の記事一覧
beta-reduction の検討着手。
PTaL 読まねば、と言いつつ途中で切り上げて alpha-conversion をヤッツケるべく、こちらに再度着手。
微妙な検討が続いています。未だもって腑にオチてなかったりして。
ええと、色々な意味で理解が微妙なので occurs-free? な試験から再度検討し直す事にしました。
実機転送にトライ。 がしかし、/system/lib だの /system/bin だのへの転送は無理な事が分かりました。ある意味堅牢である事は分かったんですが、それでもなんとかしたい場合、どうしたものやら、という事にて以下? android 自分でビルドしつつ gosh および …
ええと、alpha-conversion な subst の lambda なブロックが以下なコトをチェキ。 (lambda-exp (id body) (lambda-exp id body))変換してない。そりゃこうなるわな。 test subst y (lambda (x) (lambda (x) y)), expects (lambda-exp x (lambda-exp x (var-e…
接続できぬ。
Android ビルドすんのに 15GB 程度の領域が必要との事にて、VirtualBox 環境再度作成に着手。ディスク 20GB 作成中なんですが結構時間がかかっております。しかも df 見たら 2 週間たってないのに 50% を越えようとしているな。
作成着手。とりあえず configure して $ CC=arm-linux-gnueabi-gcc AR=arm-linux-gnueabi-ar LD=arm-linux-gnueabi-ld \ RANLIB=arm-linux-gnueabi-ranlib ./configure --host=armel-unknown-linux \ --build=arm-linux-gnueabi --enable-multibyte=utf-8 --…
とりあえず armel な gauche と libgauche.so ができたみたいなんですが、動作確認ができん。どうしたものやら、と言いつついくつか対処案を列挙。 Android 丸ごと作ってそこに libgauche.so と gosh を入れちゃう 必要な *.o がまるっと入ってる gosh を作…
エントリ分けてるはずなんですが、集約されちゃってるぞ。 # たぶんこのエントリ投入したら今日のはこれだけ、になっちゃうはず 追記 む、違うな。わしの投入の仕方が悪いのか
普通に make したらどうなるんだろ、という事にトライしてみました。-static 付けずに make して emulator の /system/lib とか /system/bin とかに置いたらどうなるのか、と。
port search texinfo して見つけたパケジ。 sicp @0.0.1 (lang) Lytha Ayth's texinfo version of Structure and Interpretation of Computer Programs -- 2nd ed. (Harold Abelson and Gerald Jay Sussman, with Julie Sussman)なんて言えば良いのか分かり…
よく見たらバグってない? test subst y (lambda (x) (lambda (x) y)), expects (lambda-exp x (lambda-exp x (var-exp y))) ==> ok test subst y (lambda (x) (lambda (y) y)), expects (lambda-exp y (lambda-exp y (var-exp y))) ==> ok test subst y (lam…
参考にしたのは、ARMクロス開発環境構築(ひまじめ)。なんですが、emdebian 凄いぞ。 ちなみに職場端末にて色々試験してたんですが母艦は macbook で、クロス環境作りきらなかったので、Debian 方面にニゲたのですがこちらも微妙で最後の手段として Ubuntu に…
emacs+gauche で SICP に着手、との連絡が twitter 経由でナニ。 sw@mac わははは的な世界が若いうちから広がるなんて裏山の椎茸。
現時点での試験、lambda 式なナニが以下。 <subst lambda experssion>------------------------------------------------------ test subst y (lambda (x) (lambda (x) y)), expects (lambda-exp x (lambda-exp x (var-exp y))) ==> ok test subst y (lambda (x) (lambda (y) y)), exp</subst>…
ええと、close から open への mindset の転換、というあたりに拒絶反応を示す若い人が多い。やはり自分が希少性を持った存在になりたい、というか何らかの付加価値を持っておきたい、と思うのだろうか。 あるいは自分が持ってる情報は公開しない、がデフォ…
emdebian-tools なるものがある模様。リポジトリは http://www.emdebian.org/debian/ だったか。一応 Hello, world をコンパイルして emulator 上で動作したのまでは確認済み。 しかしこんなに簡単にクロスな環境ができるとは本当に凄いな。
中の lambda は occurs-free だったら変換、なのかなぁ。 # 意味不明ですみまそん
以下の式を beta-reduction に吸わせた場合、ループする事が判明。 ((lambda (x) ((lambda (y) (+ x y)) x)) y)そりゃ、そのまんまお互い (beta-reduction と substitute) で同じモノ渡しやっこしてるんだから当たり前っちゃ当たり前か。
なんとなくストレスフルな今日この頃。なかなか昼間に検討時間が取れぬ、と言いつつ現実トウヒし放題だったりするんですが、現時点での実装が以下です。
Exercise 2.12 ええと昨晩遅くに残したメモを見つつ * 一つだったよな、と言いつつ以下がでっち上がった。さほど時間かかってません。
E の中身が lambda だったら変換対象外? そうなら意味的に整合してるカンジ。 (lambda (x) (lambda (x) y)) これは中の lambda が if y is free in E なのでそのまま (lambda (x) (lambda (y) y)) これは中の lambda が if y is not free in E なので外の引…
不調。
Exercise 2.12 とりあえず alpha conversion な試験を書いてみる。
alpha conversion とか beta reduction とか eta conversion とか。wikipedia 見ても若干意味不明。 例示されているものとしては ((lambda (f) (f 3)) (lambda (x) (+ x 2)))と ((lambda (x) (+ x 2)) 3)と (+ 3 2)は同じ、とある。上記はbeta reduction の…
検討再開。とりあえず fresh-id と all-ids がポイント高い、という事で例示されている手続きを吸わせてみる事に。 gosh> (all-ids '(lambda-exp p (app-exp (var-exp +) (app-exp (var-exp p) (var-exp x))))) (p + x) gosh> ええと、 (lambda (p) (+ p x))…
天気は良いのですが波が高いはずなので外に遊びに行く気にならない。買い物してきて帰宅後に検討着手。 Exercise 2.11 expression を以下に修正。 (add-load-path ".") (load "define-datatype") (define-datatype expression expression? (var-exp (id symb…