bhyde (03/24/83)
#N:inmet:4700005:000:2097 inmet!bhyde Mar 22 22:55:00 1983 Interpreter vs compiler seems to be one of the top ten dialectics in computing. The phase "why don't they just..." plays an important role in this conversation. The following coments are unwound from the head of a person that just spent an hour interactively tracing thru a very large lisp program to discover that "hold" should have been "holds" so that the pattern match could succeed. Excepting interlisp, for the moment, that bug, the fault of a noise filled input device (my fingers), would not have been found in any interpreter I have ever seen. Why, recall interlisp, an interpretive system that incrementally does some amount of consistency checking and brought to you by the people who really like huge personal computers Consistency checking, declared assertions, strong typing, type infrencing, one finds them only in compiler base systems. This seems to be because incremental versions of such things are very hard to author/design, and require big dumb data structures. Declaritive statements, assertions about things in ones programs, are very very very very good programming practice. Interactive programers learn this late, and many of them seem to view declarations with suspision or distain. Consistency is a pain and one wants it sparingly. I like editing my programs in a normal text editor because I often create very unsyntaxtic texts as I edit up my program. Well so I for one believe the debug loop will forever to include a compile stage, will include phases like: type infrencing and overload resolution, "yeah X is a set of strings." data structure design and selection: "humm a hash table would do for X." low level coding selection: "gee lets code this up in C and unwind all the runtime type checking." optimiser: "remove as much dumb code as possible." register allocator, machine code generator, and peephole optim. "who said they had enough cycles?" For speed arround the loop I would be willing to remove some of the latter steps, for speed around the loop I dream about the earlier ones. Ben Hyde, intmet!bhyde, Intermetrics Inc.