Lists Home |
Date Index |
Rick Jelliffe wrote,
> I think we need to draw the line between different kinds of
> There is
> * late binding (where the information needed for typing is only
> available at the last minute)
Available to what? Concrete instances are always precisely typed even
when access to them is mediated via a supertype reference.
> * reflection (where the object carries its type information
As above ... if it's there to be reflected, it's there.
> * casting (where the language or some context forces a thing
> to be treated a certain type)
> * generic operations (where, rather than a thing having no type,
> it is deemed to have some very generic operations, such as
> equality testing only)
This is just _sub_typing.
> * dynamic typing, where a value is looked at, and the type is
> selected from it according to lexical hints
OK, this is a better example ... and presumably the value can be looked
at in other ways? Or are you assuming that the lexical hints imply or
constrain the type (in which case this is pretty much the same as
> * typelessness, at an extreme where an operation occurs without
> any checking on some kind of memory location or a pointer.
No argument here.
> The occurrences of these in XML might be
> * late binding, such as in XML Schemas when you may access base
> types very late
In what way is this typeless? Given WXS type annotations, elements in
document instances are precisely typed (for all that their type might
have more derived/restricted subtypes).
> * reflection, such as using xsi:type to figure out the type
Huh? xsi:type _tells_ you the WXS type ... there's no figuring out to
> * casting, such as where a query treats some text as a particular
Don't follow ... this sounds more like what you called "dynamic typing"
> * generic operations, pretty much what XML is without XML
> Schemas, wander around trees and look a strings.
Well, no. The basic lexical structure of an XML document instance isn't
a type _in_ XML ... in a sense it's the type _of_ XML. I don't think
that anyone's complaining that not all character sequences count as
> * dynamic typing, such as the = operation in XSLT
Pretty clearly typed.
> I don't really see any typelessness at work in XML: it seems to be a
> property of languages rather than data.
Now I'm confused. You started with what you claimed were different kinds
of typelessness (for all that I mostly disagree), then showed how
they're applied them to XML, and now you're claiming there's no
evidence of typelessness at work in XML?
What am I missing?