|
|
• Seahaven Towers • Terminus • Paint • Tome • Editor
|
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
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. |