| David Hopwood 2006-06-27, 7:02 pm |
| David Hopwood wrote:
> Marshall wrote:
Correction: as the paper on gradual typing referenced below points
out in section 5, something like the "typerec" construct of
<http://citeseer.ist.psu.edu/harper95compiling.html> would be
needed, in order for a system with a "dynamic" type to be equivalent
in expressiveness to dynamic typing or gradual typing.
("typerec" can be used to implement "dynamic"; it is more general.)
[color=darkred]
>
> <http://citeseer.ist.psu.edu/abadi89dynamic.html>
>
>
> It isn't. From the abstract of the above paper:
>
> [...] even in statically typed languages, there is often the need to
> deal with data whose type cannot be determined at compile time. To handle
> such situations safely, we propose to add a type Dynamic whose values are
> pairs of a value v and a type tag T where v has the type denoted by T.
> Instances of Dynamic are built with an explicit tagging construct and
> inspected with a type safe typecase construct.
>
> "Gradual typing" as described in
> <http://www.cs.rice.edu/~jgs3847/pub...06:_gradual.pdf> is
> another alternative. The difference between gradual typing and a
> "dynamic" type
This should be: the difference between gradual typing and a system with
"typerec"...
> is one of convenience rather than expressiveness --
> gradual typing does not require explicit tagging and typecase constructs.
--
David Hopwood <david.nospam.hopwood@blueyonder.co.uk>
|