Category:Programming language:Candle

From LiteratePrograms
Jump to: navigation, search

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 easily constructed, selected, queries, transformed and serialized 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.
  • Advanced query support: Candle supports core features of XSLT and XQuery.
  • 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.

hijacker
hijacker
hijacker
hijacker

Pages in category "Programming language:Candle"

This category contains only the following page.