[xquery-talk] [xml-dev] Mistakes made in the design of XQuery 3.1
dflorescu at me.com
Fri May 22 18:11:43 PDT 2015
> The unfortunate choice of those two keywords (“for” and “return” instead of “from” and “select’) in XQuery had
> such a HUGE impact on adoption (or not) of XQuery, it’s amazing.
> It’s not too late to add the macros…..and make XQuery understandable to people who only want to see
> select… from ...
> Big mistakes.
THAT particular choice of keywords (FOR/RETURN… instead of FROM/SELECT)…. is MY mistake ENTIRELY. 100% MINE.
I regretted that (daily) in the past 16 years …..and did LOTS of penance for it…..please believe me.
I could tell you the story… maybe it’s fun, maybe it’s interesting from a technology/history perspective.
It was 1999, and I was a researcher in INRIA, studying query languages and query processing for semi-structured data. (since 1996 when I was in ATT Research)
I was stuck in Paris, where nothing ever happened in technology, and I was dreaming of going to Sillicon Valley, where EVERYTHING happened.
So, I managed to become a visiting scientist at IBM Almaden in Sillicon Valley.
My boss at that time, Mike Carey (now professor it Univ. Irvine), just decided to leave IBM for a startup — Propel.
He didn’t know what to do with me (I was his responsibility :-) …., so he took me by the hand to Don Chambelin (of SQL fame)
across the hall, and he asked me: “Why don’t you work with Don Chamberlin on this XML query thing, after I am gone ?”
That’s what I did, together with Jonathan Robie, and the result was Quilt, the precursor of XQuery.
Well, it happened that my PhD thesis was on query languages and query processing of object-oriented languages, and OQL was a functional language, above
and before being a query language. Hence, XQuery became a functional language.
Well, in the same time, I was teaching in a French university the ML programming language, a long love of mine, as programming languages are concerned.
Here is the catch: ML used the words FOR and RETURN for monoid comprehension….which both the Select-From-Where of SQL and the FLOWR expression are.
Back to the story:
While in IBM, one evening Don Chamberlin asked me to write a grammar and a parser for Quilt. I spent the night doing that, and in the morning I showed him what I did.
As a fresh lover of ML, I used the keywords FOR and RETURN in the grammar.
Don looked at me and told me…. “This thing….we’ll call it a FLWOR expression.”
It NEVER crossed my mind RIGHT THEN that that random decision that I took one night in a state of extreme fatigue will become cut-in-stone within
the over-powerful standard that XQuery is today.
I guess lots of technical decisions happen this way….randomly.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the talk