Extensible Embeddable Language

Extensible Embeddable Language

The Extensible Embeddable Language (EEL) is a scripting and programming language, focus on hard real time applications.

EEL uses a C-like syntax with higher level features not existing in the C programming language, which makes it "safe" in most of the environments (i.e. EEL programs should not be able to crash the virtual machine or the host application). EEL is dynamically typed, includes automatic memory management, exception handling and a built-in high level data types.

EEL data-types include strings, dstrings (dynamic strings), vectors (fixed type numeric arrays), arrays (arrays of dynamically typed elements) and tables.

Philosophy

EEL philosophy aims to provide a scripting language that would work in real time systems with 1000+ Hz cycle rates, such as musical synthesizers.

History

Features

EEL uses "limbo lists" to keep track of intermediate objects created inside expressions and the like, which greatly simplifies exception handling, and eliminates the need for active reference counting inevery single operation.

Example code

The classic hello world program can be written as follows:

export function main { print("Hello, world! "); return 0; }

The following is an example of a recursive function:

export function main { print("Recursion test 1: "); procedure recurse(arg) { print("arg = ", arg, " "); if(arg) recurse(arg - 1); } recurse(10); print("Recursion test 2; Mutual Recursion: "); procedure mrecurse2(arg); procedure mrecurse1(arg) { print("arg = ", arg, " "); if(arg) mrecurse2(arg); } procedure mrecurse2(arg) { mrecurse1(arg - 1); }; mrecurse1(10); print("Recursion test 2; Mutual Recursion with Function Reference: "); procedure mrrecurse1(arg, fn) { print("arg = ", arg, " "); if(arg) fn(arg, fn); } local mrr2 = procedure (arg, fn) { mrrecurse1(arg - 1, fn); }; mrrecurse1(10, mrr2); print(Recursion tests done. ); return 0; }

Internals

Applications

External links

* [http://eel.olofson.net/ EEL homesite]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Scripting language — Scripting redirects here. For other uses, see Script. A scripting language, script language, or extension language is a programming language that allows control of one or more applications. Scripts are distinct from the core code of the… …   Wikipedia

  • Tool Command Language — Pour les articles homonymes, voir Tcl. Tcl Apparu en …   Wikipédia en Français

  • Eel (disambiguation) — Eel or eels may refer to:In biologyRay finned fish:* True eels, fish in the order of Anguilliformes * Electric Eel, a species of knifefish in the order of Gymnotiformes * Deep Sea Spiny Eels, a common name for fish in the family Notacanthidae,… …   Wikipedia

  • ECL — may stand for: *ECL programming language, an extensible programming language developed at Harvard *Eastern Counties League, a football league in East Anglia, England *Ecole Centrale de Lyon, an engineering Grande École (university) in Lyon,… …   Wikipedia

  • Datenbank (Liste) — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Datenbankliste — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Liste von Datenbanken — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Langage de programmation Tcl — Tool Command Language Pour les articles homonymes, voir Tcl. Apparu en 1988 …   Wikipédia en Français

  • TCL/TK — Tool Command Language Pour les articles homonymes, voir Tcl. Apparu en 1988 …   Wikipédia en Français

  • Tcl/Tk — Tool Command Language Pour les articles homonymes, voir Tcl. Apparu en 1988 …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”