On 21 Jan 1998, Robin Popplestone wrote:
>
> Java has, sensibly in my view, ruled out traditional LISP-style tagging by
> requiring that "int" be a full 32-bit thingy. The cost is that if you want
> an integer -object- you have to use Int, which will be passed as a pointer
> to a box containing an integer.
One flaw in the Java approach is that the set of non-tagged types is
fixed, so if you make a a user defined Complex type it has to be tagged.
In Ada, tagged and untagged types are distinguished explicitly in that
tagged types are declared with the keyword "tagged". Sather has "immutable"
or "concrete" (I forget which) and Eiffel uses "expanded" to express this
distinction.
-- Brian
|