IL
そうそう使わないけど、逆アセンブラとの兼ね合いで欲しくなることもあるので、備忘録的に。。。やり方は、難しくは無いけど若干面倒。仕込み方は以下の通り。 VisualStudio コマンドプロンプトを起動する Current directoryをコンパイルの成果物があるDirec…
前回、前々回とF#や、C#、果てはILまで追っかけつつ検証してきた、tail.なワケですが、tail.有りと無しで果たしてどれほどの差があるのか? んでもって、条件により結果は変わってくるのか?てーコトを検証してみた。 ただ、C#では例え末尾再帰に合致したと…
昨日のエントリで、いらない子扱いされてしまって、枕に涙を塗らしていた*1tail.プレフィクス。F♯のコンパイラオプションでは明示しなければ使ったもらえず、以下のようなコードの場合でも、スタックフレームを1個除去できるかどうかだけで、ほぼあんたの居…
C♯というか、.NETのExpressionで末尾最適化がかかった形のモノが出来ないかどうか調べていて詰まったので*1F♯の末尾再帰ってコンパイルの時どうなってるのか調べてみたら表題の通りで。最も今回の例はとても単純なサンプルとなっているので、条件によっては…
コトの始まり ふつーのDelegateでClojureが実現可能なのは、知ってたし、中でどーなってるのか大体理解してたけど、ExpressionTreeの場合、そもそも出来るのか?出来たとして、どーなるのか?て部分が気になったので何となく調べてみた。 使ったサンプルコー…
ClosureのIL眺めてたとき、ちょっと気づいた。詰まることはないと思うし、動作結果が一致してるけど、コンパイラの生成するILが不一致なのでとりあえずまとめておこうかと。 今回使ったサンプルクラス public struct sampleStr { public int Val { get; set; } } …