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

Reply via email to