Dear members of LtU,
I'm glad to announce the 0.9.1 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
markup language is strongly-typed even without schema, whereas XML
is only weakly-typed without schema.
consists of a pattern
language 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.
and procedural programming. Through a mechanism I
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/) or the SourceForge
You can also read two blog articles Why
I Invented Candle (I), Why
I Invented Candle (II) and Towards the Grand Unification to understand the design rationales behind
Your feedback on Candle is highly appreciated.
Candle App Platform - An unified platform
desktop and Internet apps.