On 12/17/20 16:56, Chapman Flack wrote: >> that, it's called a cast. > > I find them different; XQuery was the first language I had encountered > that provides both (a cast in XQuery is spelled 'cast as', just as you'd > expect), and the idea of an explicit operation that means "I am only > asserting statically what type this will have at run time; do not ever > perform any conversion or coercion, just give me an error if I'm wrong" > seems to be a distinct and useful one.
I should have added: it may be an idea that never seemed important in languages that mean to statically type everything, but it seems to arise quite naturally for a language like XQuery (and arguably jsonpath) that tries to do a useful amount of static typing while applied to data structures like XML or JSON that don't come with ironclad guarantees. Regards, -Chap