EoPL の Exercise 2.18
2.3.3 節で empty-env と extend-env が environment という abstract syntax で抽象化されてしまいます。これは凄い。実際に評価されるのは apply-env の時点、という事になってしまいました。こうなれば、と思ってたところだったので笑いました。
で、こうした事で中身の検査ができるようになってます。練習問題はその実装をせよ、という設問になっております。
2.3.3 節で empty-env と extend-env が environment という abstract syntax で抽象化されてしまいます。これは凄い。実際に評価されるのは apply-env の時点、という事になってしまいました。こうなれば、と思ってたところだったので笑いました。
で、こうした事で中身の検査ができるようになってます。練習問題はその実装をせよ、という設問になっております。
i/f を探索するだけ、と値の取得、という意味付けをすれば良いのかどうか。例えば以下?
(define empty-env
(lambda ()
(lambda (sym search)
(if search
#f
(eopl:error 'apply-env "No binding for ~s" sym)))))
(define extend-env
(lambda (syms valus env)
(lambda (sym search)
(let ((pos (list-find-position sym syms)))
(if (number? pos)
(if search
#t
(list-ref vals pos))
(apply-env env sym))))))
(define apply-env
(lambda (env sym)
(env sym #f)))
(define has-association?
(lambda (env sym)
(env sym #t)))
試験書けるのかな。とりあえず試験から書いてみます。
使わせて頂いてた端末が故障して巨大な画面の端末を使わせて頂くことになったのですが、開発環境が全く無い状況。とりあえず、ということで
あとはリモートなリポジトリからソースツリー取得すれば、と思ったのですがここからなかなかにハメてくれたので以下に控えを。
準備ができたようなので動作確認含めて先日でっち上げたハロワのテストを云々してみることに。とりあえず本体とテストプロジェクトを clone してきて以下。
$ cd HelloWorld
$ android update project -p .
$ cd HelloWorldTest
$ android update test-project -m ../HelloWorld -p .
で、以下を実行したのですが例外ダンプ吐いて止まる。
$ ant clean debug install test
どうも debug で死亡している模様。
今、b-mobile のいっちゃん安価なプランを選択してて月に 2200 円くらい。安価なだけに内容的にもアレでしたが、って思ったら電話に無料通話が付い
rpi_start を読む、というお題で連載エントリを投入なさってらっしゃる方を発見。自分控え用にポインタを控えておくことに。全 14 回です。
今以下の二つで自動で環境作ってくれると有難いナニがあります。 Android の build および試験なリソースの kickoff DevOps 勉強会向けリソースの kickoff ぼくもペアプロなセッション
list-find-position 使え、ということであれば
BTS にバグ報告があり、急ぎ対応することに。微妙なのが
というナニ。仕方が無いので開発ブランチとリリースブランチの共通祖先から hotfix なブランチを作成。おそらく開発ブランチの HEAD とも修正はカブらないはずなので。
先程のこと。 作った作業 branch の先祖が微妙ってことで削除しようとして以下。 $ git brannch -D 20131112 WARNING: You called a Git command named 'brannch', which does not exist. Continuing under the assumption that you meant 'branch' in 0.1 seconds automatically... Deleted branch 20131112 (was 1544799). 最初