White Papers:
Prev |  | Next

# Gamma Discussion - Interpreted Languages

### Andrew Thomas

# 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:

- Simplified programs

- Unrestricted callbacks

- Powerful inter-task communications

- Extensive GUI services

- Run-time debugging

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

Prev | Home | Next
More Information | Up | Capitalizing on Lisp strengths

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