Seahaven Towers
Haniport Levee
Angeline Crossing
Delvenor Beacon
Trek
Dungeon
Empire

Terminus
Grafiker
Classic
Contessa

Paint
Write
Acoustiq
Draw
Filigree

Tome
Gamer
Orbit
Atlas
Chronology

Editor
Player
Reader
Viewer
Calc

 



Contessa, the Guildhall IDE



Contessa (named for Contessa Ada Lovelace, widely regarded as the first computer programmer) is a Guildhall Tools applet. It serves as the IDE (Integrated Development Environment) for Codex applets. Codex is the name I gave to Guildhall's built-in pseudo compiler. It parses a subset of the C++ programming language to produce machine independent pseudo code which Guildhall can interpret to drive various elements of the Guildhall environment, much as would any applet compiled from C++ into true object code.

Codex is already reasonably functional, but only when launched from within the Terminus console applet. The pseudo machine for Codex is built into Guildhall and has automatic access to a large portion of Guildhall's APIs (Applet Programming Interfaces). Extending that access is as simple as adding no-op macro defines to Guildhall's C++ headers and running a Terminus tool to rescan those macros and recreate the binding files. When those binding files are next compiled as part of Guildhall, Codex gains access to the additional API calls.

Contessa will provide a means to create Codex applets outside the Terminus environment. The Editor applet will create and modify a new applet's source, the Contessa document type will gather project elements together, and the build process will produce a special folder type called a parcel that will contain both the pseudo code to be interpreted as well as resources used in the applet's operation (similar to how bundles are used on Mac, but located in a Guildhall archive and not on the host file system).

Hand-coded parcels already run all of the applets available within Guildhall, serving only to launch the document handler. But the same architecture can do a lot more. Contessa will enable that.

Next Steps

  • Expanding the project document to allow inclusion of source files, including media files
  • Teaching Codex to handle class declarations
  • Designing and coding a Codex runtime debugging facility integrated with the project files and sourcefiles

Notes

According to Wikipedia [Ada Lovelace], the image of the Contessa is a public domain watercolor portrait of Ada Lovelace by Alfred Edward Chalon around 1838. Only a portion of that work is used herein.

 

Copyright © 1981-2021 Arthur W Cabral. All Rights Reserved. All referenced trademarks are the property of their respective owners. This site does not use cookies. This site does not collect visitor information. The ISP hosting this site collects statistics regarding visitors to this site as part of the normal operation of the website. We do not currently examine those statistics. If that changes, this notice will change. Mac and macOS are registered trademarks of Apple, Inc. Wikipedia is a trademark of the Wikimedia Foundation.