[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: transitivity does not imply type-checking

   Date: Mon, 21 Nov 2005 11:42:30 +0100
   From: Sebastian Egner <sebastian.egner@xxxxxxxxxxx>

   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.