Re: transitivity does not imply type-checking
Taylor Campbell 21 Nov 2005 20:08 UTC
Date: Mon, 21 Nov 2005 11:42:30 +0100
From: Sebastian Egner <xxxxxx@philips.com>
At this point, we cut the theory, ran our favourite Scheme
systems, typed in (<= 2 1 'a), and looked what happened: PLT
and Scheme48 both complain about the type mismatch, i.e. they
type check all arguments whether needed for the result or not.
Actually, this is not quite the case. Scheme48 emits a compiler
warning, because it statically determines that one of the arguments
has a type that does not match <='s static signature; however, (<= 2 1
'A) evaluates at run-time to #F with no error: it does not check the
types of all arguments at run-time.