# 2016 年 5 月 ## 2061-05-20 ### apktool にしよう ひさしぶりに、smali/baksmali 使おうかなと思ったんだけど、 [apktool をつかう](http://reverseengineering.stackexchange.com/questions/8044/repackaging-apk-file-using-baksmali-and-smali)のが楽そうだったので、そうしよう。 ## 2016-05-19 ### Android 開発環境セットアップ Intel x86 Emulator Accelerator (HAXM installer) をいれなければ入らない問題ではまった。 [ここ](http://mousouprogrammer.blogspot.jp/2015/01/androidandroidstudio_25.html) を参考に。 SDK Manager で Intel x86 Emulator Accelerator (HAXM installer) をインストールして、 HAXM のインストールフォルダを開いて intelhaxm-android.exe を管理者権限で実行する必要があった。 インストールフォルダは、 C:\Users\ユーザ名i\AppData\Local\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager でした。 おお、速い、速い。 ## 2016-05-06 ### [Haskell] Bunny: trExpr を State モナドに [というわけ](https://uhideyuki.sakura.ne.jp/studs/index.cgi/ja/diary201605#2016-05-02p0)で、trExpr を State モナドに書き換えた。これで、Let 式に取り掛かれるようになったというわけですが、今日はここまで。 →と思ったけど、もう少しやって、Let 式には対応した。それそうと、以下気になる点: - Desugar.hs すくなくなりすぎた - BindingGroup が不真面目すぎる - 上と関係ありそうだけど、NoRec と Rec の扱い - testcases/sample5.hs に対するエラーが気になる ## 2016-05-02 ### [Haskell] Bunny Core への変換は、ひとまず sample1, sample 4 に関しては動作しているらしい。 なので、Core から STG への変換にとりかかる頃合いなのだが、 そのあたりの理解が定まっていないので、その辺を勉強するのと並行して、 Core への変換を仕上げていこう。Pretty Printer もつくりたい。 そういうわけで、sample2 を試してみたら、let 式の変換が未対応。 しかも、これは、構造の変更がいりそうだ。 [おとといの件](https://uhideyuki.sakura.ne.jp/studs/index.cgi/ja/diary201604#2016-04-30p0)では、State モナドにしなくてもセーフかなと思ったんだけど、 let binding を扱うには、やはり、binding を状態としてあつかわないとダメっぽい。 いまは、${vs = map trExpr vdefs} みたいな感じで、元の定義と binding が一対一対応になるような形で書いてしまっているんだけど、let 式は複数の (アルファ変換された)束縛に変換される、はず、なので。 そういうわけで、これからしばらくは、trExpr を State モナドに書き直す作業ですね。