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