Hi, David Thanks for pointing out my wrong perception about xmlsh. I fully respect you incredible work on xmlsh. It has inspired me when I design Candle, especially how Candle would work in a command line environment. As you are the creator of xmlsh and guru on shelling scripting, I'd like share more of my thoughts on XML for shell scripting, and hear your feedback. I totally agree with you that shell scripting (which had glory past) is legging behind the evolution of programming and need serious upgrade. What I see, the potential values that XML technologies can bring to shell scripting are:Converting the input and output of shell commands into structured hierarchical data, instead of just bytes and lines in abstract syntax.Converting the semantics of shell commands from text based to node based, as being done in xmlsh; more can be added - like xdiff (diff on XML tree), xgrep2 (search based on RELAX NG kind of node pattern, instead of xpath). The more we have, the more value for people to convert to this new x-shell platform.Extending the XML data model to the file level, so that advanced features like schema, XPath, XQuery and XSLT can be applied to files and dir nodes as well. Some differences between Candle's approach and that of xmlsh, are:Rather than inventing another DSL for shell scripting, Candle extend XQuery to become a general-purpose scripting language. The advantage is that users faces only one language, instead of many DSLs (XPath, XSLT, XQuery, XProc, xmlsh).Candle shall further wrap the shell commands into system routines, so that they can be called as normal routines rather than using command line argument syntax.Separation of side-effects: a mechanism that better controls the side-effects. And the shell commands shall also be separated into functional and actional. This is important in enhancing procedural shell scripting into high-level query scripting. One thing that is really challenging in this x-shell platform is true pipelining. It is easy to just connect the output of one command to the input of another command. But the essence of pipelining is progressive processing or streamed processing. Certain features like reverse axes in XPath are adverse to pipelining. Evaluating XPath/XQuery/XSLT in a streamed fashion is much harder than DOM-based approach. Serious work is being done in this area, and I think there's still a long way for streaming to be fully supported in advanced XML processing. Best Regards Henry > I'm definitely for more XML scripting languages, its a great thing. But > as > the author of xmlsh I'd like to clarify a misconception > --- quote > " xmlsh primarily concerns with converting the input and output of the > shell > commands into XML" > --- > > This is a misconception. The primary goal and functionality of xmlsh is > to > provide *efficient* native XML processing within a (possibly) familiar > scripting syntax. > There happen to be a few "shell commands" implemented which input or > output > XML, that's a mere sidelight. External shell commands are not > converted > to XML at all. > The main goal is to provide a scripting language where in the past > everything was text (variables, pipes, expressions) but is now fully XML > enabled, but equally with text. > Variables are stored as XDM values, Expressions support full XQuery > syntax, > piping is in-process (threaded) and supports text equally as well as XML. > > But to repeat my first statement. The more good scripting languages for > XML processing the better, IMHO, because it gives more people exposure to > XML. > And being a self-proclaimed "XML Advocate" that's a good thing by > definition > :) > > Some say too many languages is a bad thing ... but when a technology is > under-utilized I believe a plethora of languages is good thing. > > So good going !!!! > > > ---------------------------------------- > David A. Lee > [email protected] > http://www.xmlsh.org > > From: [email protected] [mailto:[email protected]] On Behalf > Of [email protected] > Sent: Tuesday, November 22, 2011 10:05 PM > To: Geert Josten > Cc: [email protected]; [email protected] > Subject: Re: [xquery-talk] [ANN] Candle 0.10 Beta Release - a new > scripting > language for XML and more > > Thanks for the comment. > Regarding XProc and xmlsh, I definitely have both in mind when designing > Candle. > Candle will definitely provide pipeline feature like XProc, but it won't > be > in 1.0 formal release. > And I also share the same vision as xmlsh that everything in the end > should > be XML or something hierarchical. xmlsh primarily concerns with converting > the input and output of the shell commands into XML, that can be easily > done > in Candle using the grammar support in Candle. Candle introduces > additional > advanced features to shell scripting, like: > . separation of side effects; > . unifying file system data model (files and directories) with document > node > data model, so that you can extend advanced features on XML like schema, > path selection, query and transformation to the file system. That will be > a > revolution to the shell scripting. (am I leaking too much of something > exciting for the 1.0 release? :-) > Best Regards > Henry >> Sounds interesting. How does it compare to other solutions that bring >> those >> techniques together, like xmlsh and the XProc standard? >> >> >> >> Kind regards, >> >> Geert >> >> >> >> *Van:* [email protected] [mailto:[email protected]] >> *Namens >> * >> [email protected] >> *Verzonden:* dinsdag 22 november 2011 6:37 >> *Aan:* [email protected] >> *Onderwerp:* [xquery-talk] [ANN] Candle 0.10 Beta Release - a new >> scripting >> language for XML and more >> >> >> >> Dear members of [email protected] list, >> >> I'm glad to announce the 0.10 beta release of *Candle*. Candle is an >> open-source (MPL) scripting language that unifies the core features of >> many >> XML-related technologies (including XSLT, XQuery, XQuery Update, RELAX >> NG, >> BNF, XHTML, SVG and more). It can be used to develop command-line, >> desktop >> and Internet applications. >> >> Some of the advantages of Candle comparing to XSLT and XQuery are: >> >> - *Candle is an unified language* instead of two highly-overlapping >> languages. Candle uses scripting syntax instead of the highly verbose >> markup syntax of XSLT. >> - *Candle's >> > markup<http://www.candlescript.org/doc/candle-markup-reference.htm>language >> is strongly-typed >> * even without schema, whereas XML is only weakly-typed without schema. >> - *Candle comes up with a pattern >> language<http://www.candlescript.org/doc/candle-pattern-reference.htm> >> * which cleanly unifies several pattern-related DSLs (including RegEx, >> BNF, RELAX NG, XQuery Sequence Type). It can easily match on sequence >> of >> items, nodes and characters. >> - *Candle unifies functional and procedural programming*. Through a >> mechanism called >> > separation-of-side-effects<http://www.candlescript.org/doc/candle-query-refe > rence.htm#sose>, >> Candle unifies two worlds in a more orderly manner then any existing >> multi-paradigm programming languages. >> - *Candle is a general-purpose scripting language* like Python, whereas >> XSLT and XQuery are more like DSLs. Candle alone is sufficient to >> develop >> complex command-line, desktop and Internet applications, whereas XSLT >> and >> XQuery still need to integrate with other languages to develop a >> serious >> application. >> >> And this new release introduces a new hierarchical namespace >> > syntax<http://www.candlescript.org/doc/candle-markup-reference.htm#namespace >>and >> adds support for a new object >> > notation<http://www.candlescript.org/doc/candle-markup-reference.htm#object- > notation>. >> You can find out more details from the updated reference documents, as >> well >> as my 3 new blogs: >> >> - Who Needs >> XML<http://candleapp.blogspot.com/2011/11/who-needs-xml.html>: >> I talked about the problems of XML as a general data-exchange format, >> especially when used for structured data. >> - A Markup Notation Better Then >> > Ever<http://candleapp.blogspot.com/2011/11/markup-notation-better-then-ever. > html>: >> I showed how Candle unifies XML markup data model with OOP object data >> model, and its advantages comparing to formats like XML, JSON, JavaFX >> literal object and YAML. >> - The Examples Speak For >> > Themselve<http://candleapp.blogspot.com/2011/11/examples-speak-for-themselve > s.html>: >> I showed how Candle Markup can effectively express different kinds of >> structured data, like iCanlendar Record, SVG, MathML, DOT graph >> language, >> POV-Ray SDL, and Lua configuration. >> >> For more information, you can visit the >> website<http://www.candlescript.org/>( >> http://www.candlescript.org/) or the SourceForge >> project<http://sourceforge.net/projects/candleapp/> >> . >> >> Your feedback on Candle is highly appreciated. >> >> Henry >> >> -------------------------------------------------------------------- >> Candle App Platform - An *unified platform* for desktop and Internet >> apps. >> _______________________________________________ >> [email protected] >> http://x-query.com/mailman/listinfo/talk > >
_______________________________________________ [email protected] http://x-query.com/mailman/listinfo/talk
