Robert Dodier - 2010-02-01

Leo, thanks for your interest in noninteractive. At one point I experimented with the idea of having noninteractive always try to expand all branches as far as possible. However it turned out to be pretty easy to construct examples for which that caused a stack overflow due to cyclic asksign questions, which, I suppose, should be impossible, but aren't. So by design noninteractive just expands one level.

Just re-evaluating the conditional expression doesn't cause expansion of branches, since branches are evaluated only when the corresponding condition is true. I wrote a function to take apart a conditional expression and evaluate each branch, but it doesn't work as intended; I'll have to look into it more carefully.