The content of this page in no way reflects the opinions, standards, or policy of the United States Air Force Academy or the United States government.


Welcome to the RAPID home page!  RAPID is the Rapid Ada Portable Interface Design tool.  Using RAPID, programmers can easily create a graphical user interfaces (GUIs) for their applications by simply drawing them.  RAPID then generates Ada code using a platform independent GUI library. (Current implementations utilize the TASH binding to Tcl/Tk, the GNAT to JVM compiler, the Microsoft .NET framework, or GtkAda).  Since these are supported on many different platforms (including Windows, Macintosh, and UNIX), the generated GUI will also run on all of these platforms.


New RAPID maintenance/project page.  I am no longer actively maintaining RAPID.  A new project to continue RAPID development is at:


Updated to Tcl/Tk 8.4 (16 May 2003)

New Novice Mode (14 January 2003)

Automatically generates null procedures for button/menu event handlers

Updated .NET port of RAPID now available (14 January 2003)

Eliminates dependence on Visual J#.

.NET port of RAPID now available (26 August 2002)

RAPID 3.0 now includes a completed port for .NET. Note for .NET, you must have the .NET framework installed (including the Visual J# libraries).

Gtk port of RAPID now available (26 November 2001)

RAPID 3.0 now includes a completed port for Gtk. Note for Gtk, you must convert the pictures to XPM format (GIF is not supported).

RAPID 3.0 is now available (2 June 2000)

RAPID 3.0 includes new features for automatically filling in the values of certain widgets (Text_Entries, Check buttons and Dropdown lists), and provides new Window functions for radio buttons.

Updated 1 February 2001 to use Tcl/TASH 8.32 instead of 8.2


RAPID 2.2 now includes sources for a JVM implementation in addition to the Tcl/Tk implementation, plus some bug fixes. The JVM implmentation should work with the to-be-released GNAT for JVM compiler.

RAPID 2.0 is now available (9 June 1999)!

This is a total redesign of RAPID to use a new OO library which can have multiple implementations (right now only the Tcl implementation is available). It also includes new widgets (progress bar, scale widget, listbox), tooltips, better color handling, mouse handling, keystroke handling, etc. GUI files are not quite backward compatible with RAPID 1.1. One disadvantage of the new release is that GIF files are no longer built in to the executable, as I could not figure out how to do this in an implementation independent fashion.

RAPID 1.1 is here.

This includes a users' guide, implementors' guide, new widget functionality, new widgets, more robust error handling, (can double-click to open a RAPID GUI), better documented and simplified code, etc. All .GUI files are backward compatible with RAPID 1.0, so updating is a snap.

RAPID is freely distributed as a service of the United States Air Force Academy Department of Computer Science.  RAPID was written by Martin Carlisle and W. Blair Watkinson II.

For more information on RAPID, get our SIGAda paper (postscript file). Also, you can click here to see some screen shots of RAPID in action.

Getting Started

To use RAPID, you will need the following:

When doubleClicking setup.tcl in the tash841a folder, it may be needed to insert the full path for tash-directory (e.g. D:/tash841a instead of only tash841a) and for tcl-library (e.g. D:/tash841a/src/...etc... instead of only .../src/...etc...) in order to produce a useful makeconf file and not to fail with it.  [BTW, the slashes may remain slashes on WindowsOS-- you do not have to use backslashes].

If you don't have a libtash.a (you get an error from gnatmake/ld complaining about -ltash),

it may be obtained by doing

"ar rcv libtash.a tclmacro.o tkmacro.o" (in a DOS or UNIX shell!)

in the tash/src folder.

Once you have the prerequisites, download the zip'd RAPID source, compile and build.  A pre-built executable for Windows is found in the bin folder after you unzip. RAPID 1.1 and RAPID 2.2 are still available for download, but are no longer supported.


See the new project page at http://savannah.nongnu.org/projects/rapid/.


Portions of RAPID are public domain, and portions are distributed under a modified version of the GNU General Public License. See individual files for details.

RAPID is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.