Paul Prescod wrote: > Yukihiro Matsumoto wrote: > > > >... > > > > How about the following C code? Is this fully substitutable? > > > > main() > > { > > double d = 5/2; > > > > printf("%f\n",d); # => 2.000000 > > } > > That code doesn't really use substitution at all. i.e. there is no point > in the code where a variable expects something of type float and gets > something of type integer. Look again: double d = 5/2; This is initializing a double (d) from an integer (the result of 5/2 == 2). -- wjl / mindless.com