Software Preservation Group of the Computer History Museum

Interactive C Environments

Wendell R. Pepperdine <wrp_ice-1 at yahoo dot com>, editor

Introduction

In the 1970s and 80s, the success of interactive systems like APL, Lisp, and Smalltalk inspired several projects to develop an interactive environment for C. This software preservation project is for any materials related to the implementation of interactive systems for C and similar languages. We are looking for binaries, source code, manuals, technical reports, mailing list archives, or anything else with relevant information. We would appreciate any help in contacting the owners of copyrighted materials so that we could get permission to post them here.

What is interactive C?

People often classify languages by syntax, so a "C-like language" would mean one with curly bracket syntax. But from an implementation perspective, any syntax is just sugar over an abstract syntax tree. For the purpose of this collection, we classify a language as C-like according to its use of direct operations on memory locations, i.e. pointers. So in addition to the C/C++/Objective-C family, we could include languages like PL/I, BCPL, BLISS, and Modula-2.

An interactive system is one in which you can change the code structure of a running program without losing program state and can preserve the changed code. Smalltalk is a classic example. It seems that no interactive implementation of a C-like language managed to be fully like Smalltalk, and the projects collected here are included because they implement interactivity to at least some extent.

Commercial Projects

C-terp (Gimpel Software)
Ch (SoftIntegration)
Cin (AT&T)
HiSoft C (HiSoft / Loriciels)
Instant-C (Rational Systems / Tenberry Software)
Integral C (Tektronix)
Interactive C (Newton Research Labs)
Interactive-C (IMPACC Associates)
Macintosh Pascal (Think Technologies / Symantec)
RUN/C (Age of Reason)
Saber-C / CodeCenter (Saber Software / CenterLine Software / IPS)
Safe-C (Catalytix Corporation)

Non-Commercial Projects

Barbados (Tim Cooper)
C-REPL (Evan Martin)
CINT (Masaharu Goto)
Cling (CERN)
EiC (Edmond J. Breen)
IGCC (Andy Balaam)
Incremental Compiler GCC (Tom Tromey)
PicoC (Zik Saleeba)
Thetis (Stanford Computer Science Dept.)
UnderC (Steve Donovan)

General Bibliography

Acknowledgments

Thanks to: Nelson Beebe, Peter Brooks, Clem Cole, Terry Colligan, Tim Cooper, Emden Gansner, Narain Gehani, Mark Kahrs, John Reppy, Pam Surko, Warren Toomey.