<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br class="">
</span>The unfortunate choice of those two keywords (“for” and “return” instead of “from” and “select’) in XQuery had<br class="">
such a HUGE impact on adoption (or not)  of  XQuery, it’s amazing.<br class="">
<br class="">
It’s not too late to add the macros…..and make XQuery understandable to people who only want to see<br class="">
<br class="">
select… from ...<br class="">
<br class=""></blockquote><div class=""><br class=""></div><div class="">Big mistakes.</div></div></div></div></div></blockquote><div><br class=""></div>Ihe, </div><div><br class=""></div><div>THAT particular choice of keywords (FOR/RETURN… instead of FROM/SELECT)…. is  MY mistake ENTIRELY. 100% MINE.</div><div><br class=""></div><div>I regretted that (daily) in the past 16 years …..and did LOTS of penance for it…..please believe me.</div><div><br class=""></div><div>I could tell you the story… maybe it’s fun, maybe it’s interesting from a technology/history perspective.</div><div><br class=""></div><div><br class=""></div><div>=====</div><div><br class=""></div><div>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)</div><div>I was stuck in Paris, where nothing ever happened in technology, and I was dreaming of going to Sillicon Valley, where EVERYTHING happened.</div><div>So, I managed to become a visiting scientist at IBM Almaden in Sillicon Valley.</div><div>My boss at that time, Mike Carey (now professor it Univ. Irvine), just decided to leave IBM for a startup — Propel.</div><div>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)</div><div>       across the hall, and he asked me: “Why don’t  you work with Don Chamberlin on this XML query thing, after I am gone ?”</div><div>That’s what I did, together with Jonathan Robie, and the result was Quilt, the precursor of XQuery.</div><div>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</div><div>and before being a query language. Hence, XQuery became a functional language.</div><div>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.</div><div>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.</div><div><br class=""></div><div>Back to the story:</div><div><br class=""></div><div>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.</div><div>As a fresh lover of ML, I used the keywords FOR and RETURN in the grammar.</div><div><br class=""></div><div><br class=""></div><div>Don looked at me and told me…. “This thing….we’ll call it a FLWOR expression.”</div><div><br class=""></div><div><br class=""></div><div>=======</div><div><br class=""></div><div></end-of-story></div><div><br class=""></div><div>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</div><div> the over-powerful standard that XQuery is today.</div><div><br class=""></div><div><br class=""></div><div>I guess lots of technical decisions happen this way….randomly.</div><div><br class=""></div><div><br class=""></div><div>Best regards,</div><div>Dana</div><div><br class=""></div><div><br class=""></div></body></html>