25 Feb
2002
25 Feb
'02
4 p.m.
Ross's example reminds me of a problem I once reported about the SML syntax. In Haskell, it is ambiguated, vaguely: False && if undefined then undefined else undefined || True ...is what? Apparently, it is False, on the grounds of the 'extends as far right as possible' meta-rule for if/lambda/let. That rule favours bottom-up over (clever) top-down parsing, because a top-down parser could mistakenly believe that '||' is the outermost operator - giving us a True expression.