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.

RAPID 3.2 is released (30 March 2009)

This is the first release from the Savannah repository. It is tested on Linux and mainly features updated Tcl/Tk and Gtk ports as well as two new widgets. For a detailed list of changes, see our ChangeLog.
The JGNAT, .NET, and GWindows backends are not part of this release as they are not currently maintained. Also, no Windows exe is included.

Maintenance of RAPID continues at Savannah (15 March 2009)

With the kind permission of Martin Carlisle, RAPID has found its new home in the NonGNU repository.

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), or browse our documentation. Also, you can click here to see some screen shots of RAPID in action.

Getting Started

To use RAPID, you will need the following:

Once you have the prerequisites, download the RAPID source tarball, compile and build.
Previous versions which include a pre-built executable for Windows are still available for download, but are no longer supported:,,


See the new project page at, and in particular the rapid-devel mailing list.

If you don't want to wait until the next release for bugfixes / new features, you can get the current development wavefront from the NonGNU Subversion repository.

Further, we encourage you to contribute your ideas and/or code.
We are particularly keen on volunteers willing to pick up the currently unmaintained JGNAT backend.


RAPID is 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.