Welcome to the Program Small Home Page!

Welcome to program "Small", a simple demonstration of Ada 95. Program "Small" implements a small text adventure game. This version of Small supports these commands:

You can see a sample run of program "Small".

Program Small is a part of the Lovelace Ada tutorial. You can access the master copy of Lovelace through the Web. You can read a more detailed description of how program Small was developed, including design rationale and a description of the general process used to develop it, as lesson 18 in Lovelace. You can access the master copy of lesson 18 through the Web.


[Object Hierarchy] Program Small has a number of different packages that implement different types. At the heart of program Small is a set of types that implements the interesting "things" in the simulated world. To the right is a graphic showing the object-oriented hierarchy of the various types. All things in the simulated world are a "Thing"; a Thing can be a Room or an Occupant, an Occupant can be an Item or a Creature, and a Creature can be a Player or a Monster. Each of these types is contained in an Ada package with the plural name (type Thing is defined in package Things, etc.).

Program Small is implemented as the following program units:

All of the compilation units above can be selected; useful starting points include:

A shorter, simple list of these compilation units is also available.

You can versions of program "Small" for your experimentation in many ways:

You are free to copy and modify program Small as you see fit, and you can use Small in any way you want, commercial or not. I've submitted program "Small" as an entry to the ARA Ada programming contest. The ARA requires that I grant them the copyright to Small, so I've granted program Small's copyright to the ARA under the condition that the ARA in term make Small freely available to the public without restriction (per the ARA's intent). However, please clearly credit me, David A. Wheeler, as the original developer of Small if you do anything with program Small. I think you'll agree that's a reasonable request.

David A. Wheeler (wheeler@ida.org)