- kazu_yamamoto
- 4692
- 0
- 0
- 0
Sosuke MORIGUCHI
@chiguri
C向けのgprofを利用して、さらにSML# で有用な結果を出力するためのコード生成。 コード生成・・・?? #PPL2013
2013-03-04 13:56:07
Sosuke MORIGUCHI
@chiguri
gprofの想定するコードの形に合わせたりprofile用の関数を呼んだり、シンボルに関数属性を付ける必要がある。付けたらプロファイルは取れたが、関数名が変。 #PPL2013
2013-03-04 13:57:44
Sosuke MORIGUCHI
@chiguri
コンパイル中に関数名を書き換えていたから変になったので、変換前の名前を注釈として取っておく。 #PPL2013
2013-03-04 13:59:21
Sosuke MORIGUCHI
@chiguri
高階関数も正確に呼び出しを追っている。末尾呼び出しはジャンプになってしまうために関数呼び出しが報告されず、また例外も同様。 #PPL2013
2013-03-04 14:04:16
Sosuke MORIGUCHI
@chiguri
Cのレベルでのメモリ管理も見えるので、アロケーションを減らす方法などを考えることもできる。 #PPL2013
2013-03-04 14:05:23
Sosuke MORIGUCHI
@chiguri
Q:局所変数が名前をそのまま出してるけど、よく使う名前(loopとかiterとか)ってどれがどれかわからないような気がするけどどうなの? A:そうです。今はまだ解決方法は思いついてません。 #PPL2013
2013-03-04 14:11:02
Sosuke MORIGUCHI
@chiguri
Q:なんでgprofを使ったら簡単になったの?どういう条件があったら簡単に作れるの? A:ネイティブコードが吐けること、gprofの出力を満たせるようにできること。 #PPL2013
2013-03-04 14:13:17
Sosuke MORIGUCHI
@chiguri
shift/reset:プログラムの実行順序を制御(型安全、開発環境と続く) ・・・すげえざっくりw #PPL2013
2013-03-04 14:15:58
Sosuke MORIGUCHI
@chiguri
shift/resetを使ったモナドによるエフェクトはDirect StyleとしてFilinskiが行っている。 #PPL2013
2013-03-04 14:17:22
Sosuke MORIGUCHI
@chiguri
今回はshift/resetを使ってdirect styleのモナドトランスフォーマの実現。 #PPL2013
2013-03-04 14:18:15