[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] [ANN] Candle 0.9.1 Beta Release - a new scripting language for ...
- From: henryluo@candlescript.org
- To: xml-dev@lists.xml.org
- Date: Mon, 8 Aug 2011 09:35:01 -0400
Hi Bill
Thanks for sharing your document and thoughts on the unification of XML
technologies.
I've browse through your document during the week end. And I think we
have many ideas in common. However, I felt your document is a bit
high-level, and it will be great if there's more detailed specification of
your language.
In response to your post, I've just written a blog
article on Candle's approach towards the "grand
unification":
http://candleapp.blogspot.com/2011/08/towards-grand-unification.html
One thing I'd like to highlight is that I think you might have a wrong
impression of the procedural features in
Candle. Candle does support procedural features in order to be a
general-purpose programming language. But they are
much higher-level
than those in the conventional procedural languages. Candle is designed
to be as functional as possible and it deliberately restricts the usage of assignment
operation.
Data construction, evaluation, pattern matching, query and
transformation all uses high level functional features and never need
assignment. And node update uses CRUD statements rather than assignment
operation. And there's the separation-of-side-effects
mechanism to preserve the pure functional features. The only case in
Candle that needs assignment is in while-loop (Candle differentiates variable initialization and
re-assignment).
I'll write more blog articles on the details of the design rationales,
considerations and trade-offs made while creating Candle. And I'll be glad
to hear feedback from you and the xml-dev list.
Regards
Henry
>
> Attached is a draft of another approach to a Grand
Unification and
> consequent simplification.
> .
>
It emphasizes declarative code (e.g. HTML and State Machines) with
> powerful
> expressions (e.g. SQL) rather than interpretive
procedural code. Of
> course both are signficant.
>
>
>
> In a message dated 7/31/2011 11:10:37 P.M.
Eastern Daylight Time,
> henryluo@candlescript.org writes:
>
> Dear members of xml-dev list,
>
> I'm
glad to announce the 0.9.1 beta release of Candle (Common
>
ApplicatioN
> Development LanguagE). 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 consists of 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 I called separation-of-side-effects, Candle unifies two
worlds
> in a
> more orderly manner then any existing
multi-paradigm programming
> languages. In Candle, routines are
divided into functions and methods.
> Functions are
>
routines without side-effects and methods are routines with
side-effects.
> The rule of separation-of-side-effects is that
methods can call
> functions,
> but not vice versa. And
expressions in Candle are always functional. In
> this way, pure
functional islands are well-preserved in the vast sea of
>
procedural code.
> * Candle is a general-purpose scripting
language like Python,
> whereas XSLT and XQuery are just 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.
> 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/) .
>
>
You can also read two blog articles _Why I Invented Candle (I)_
>
(http://candleapp.blogspot.com/2011/06/why-i-invented-candle-i.html)
and
> _Why I
> Invented Candle (II)_
>
(http://candleapp.blogspot.com/2011/07/why-i-invented-candle-ii.html)
to
> understand the design rationales behind Candle.
>
> Your feedback on Candle is highly appreciated. I'm here
anxiously
> waiting.
>
> Henry
>
--------------------------------------------------------------------
> Candle App Platform - An unified platform for desktop and Internet
apps.
>
>
_______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted
by OASIS
> to support XML implementation and development. To
minimize
> spam in the archives, you must subscribe before
posting.
>
> [Un]Subscribe/change address:
http://www.oasis-open.org/mlmanage/
> Or unsubscribe:
xml-dev-unsubscribe@lists.xml.org
> subscribe:
xml-dev-subscribe@lists.xml.org
> List archive:
http://lists.xml.org/archives/xml-dev/
> List Guidelines:
http://www.oasis-open.org/maillists/guidelines.php
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]