Hi,
Over the weekend I added some tests on 'undef' behaviour
(t/builtins/undef.t):
These behave as expected:
eval_is('undef * 2', undef, 'undef * 2');
eval_is('undef * undef', undef, 'undef * undef');
These don't (at least, according to my expectations...)
eval_is('undef + 1', undef, 'undef + 1', :todo<bug>); # dies
eval_is('1 + undef', undef, '1 + undef', :todo<bug>); # gives 1
eval_is('2 * undef', undef, '2 * undef', :todo<bug>); # gives 0
eval_is('undef xx 2', undef, 'undef xx 2', :todo<bug>); # dies
I was hoping to figure out enough Haskell to think about how to fix
them, but I have given up for the moment :-)
Ade