Gamma Discussion - Interpreted Languages

Andrew Thomas


Table of Contents
1. Gamma: interpreted by SCADALisp
2. Capitalizing on Lisp strengths
3. Addressing Lisp weaknesses
4. Features and attributes of Gamma
5. An example of Gamma code
6. More Information

1. Gamma: interpreted by SCADALisp

Gamma is an interpreted language with a C-like syntax that was written to reduce the time and effort needed to develop, debug, and maintain appliations in QNX and Linux. Gamma is interpreted by Cogent's SCADALisp engine, which translates Gamma code into SCADALisp byte-code, and then executes it.

SCADALisp is a dialect of Lisp, a programming language that was invented in the late 1950s primarily for the study of artificial intelligence (Lisp stands for list processing), and is one of the few languages of that era still in wide use today. Despite its powerful potential, Lisp is also known for its insatiable appetite for system resources, and an arcane, parentheses-ridden syntax. However, SCADALisp has been optimized for size, speed and memory usage, overturning Lisp's reputation for lackluster performance; while using Gamma as an interpreter effectively insulates the programmer from Lisp syntax.

A well-known advantage of interpreted languages is that they substantially shorten the edit-compile-run-debug cycle to edit-interpret-debug. Gamma capitalizes on this and other advantages of SCADALisp, facilitating development through:

The remainder of this article discusses these, and explains in more detail how Gamma and SCADALisp work.

Copyright 1995-2002 by Cogent Real-Time Systems, Inc.