Category:Programming language:Candle
From LiteratePrograms
Candle (Common ApplicatioN Development LanguagE) is designed to be a new general-purpose scripting language capable of developing both desktop and Internet applications.
Besides the common features found in many scripting languages, like cross-platform, interpreted execution, auto garbage collection, dynamic typed, built-in list and map support, Candle also supports some unique features that are not common in today's general-purpose programming languages:
- Built-in hierarchical data processing: hierarchical data (whether from XML, HTML, XHTML, JSON, CSV, RDB or MIME Message) can be as easily constructed, selected, queries, transformed and serialized as any primitive data in Candle.
- Set-oriented expressions: the expressions in Candle can handle not only a single item, but also a sequence of items - making the language more expressive and convenient.
- Unified pattern language: Candle unifies several pattern related DSLs (including RegEx, BNF, RELAX NG, XQuery Sequence Type) into one consistent pattern language that can apply to sequence of items, nodes and strings.
- Unification of functional and procedural programming: Some multi-paradigm programming languages, like Python, already have a mixture of features from both worlds. But by introducing a mechanism, I called separation-of-side-effects, Candle unifies two worlds in a more orderly manner. 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. In this way, pure functional islands are well-preserved in the vast sea of procedural program.
For more information on Candle, you can visit Candle website or the SourceForge Project.