Shiro Kawai

Results 147 comments of Shiro Kawai

ありがとうございます。回避があまりに複雑になるようだったらわざわざ手間かけなくても良いんですが、上記3関数だけの問題ならちょっとやってみる価値はあるかなという気になっています。

Oh, this isn't for standardizing general literal time object; it's mainly for the convenience on REPL, and I intend to keep it Gauche-specific. I intentionally suggested `#t...` because future srfis...

(begin) compiles to "nothing"---literally, nothing, even not setting a particular value. If you look at the result, you wee whatever remained in the VM regsiter. In the above example, it...

Actually, it's beacause we don't want to spend much time in compiling, for it affects loading time. A straightforward way is to generate loading `#` by `(begin)`, then expect it...

Yeah what I meant by expecting to be removed by DCE is that "when we have a good DCE pass". We don't, now. Conditionally generating `(undefined)` is a partial solution,...

Correction: `(undefined)` in the middle of sequence is eliminated during pass5. So your latter suggestion may be effective.

Aargh, it doesn't work, for there's code that expects `(begin)` becomes nothing---e.g. after macro expansion it produces like `(begin expr (begin))`. Such code is not RnRS conformant but the change...

Technically the issue is that we want to place #<undef> if and only if an entire expression becomes empty, and that's not addressed yet. Let's keep this open and wait...

Actually I'm doing it. It's not committed to the master branch. The idea is that I have an alternative pass5 which first construct basic blocks for abstract register machine, then...

Right, and that's the plan. I think I've written a rough dead code elimination pass before (not the clever one, but the pass 5 peephole optimization leaves some obvious unused...