Neil Brown <[email protected]> writes:

>> swap :: (a,b) -> (b,a)

>> We don't need to test it at all, it can only do one thing, swap its
>> arguments. (Assuming it terminates.)

> swap = undefined

> Terminates and does not swap its arguments :-)

I think this counts as non-termination, and that for semantic purposes,
any bottom value -- infinite loops, exceptions, undefined -- is treated
equally.

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to