[net.micro] C Interpreter & MUMPS

agk@ihuxq.UUCP (Andy Kegel) (08/17/84)

kurt@fluke.UUCP (Kurt Guntheroth) observes:

> That leaves expanding macros each time by the line or keeping two versions
> of the program around with a data structure relating one to the other.  This
> works I suppose, but it would be slow if not carefully done, and even if 
> carefully done, would be memory-wasteful and fiendishly complex.  Maybe the
> developers of this interpreter have a way to do this, I don't know?

A language called MUMPS (ANSI standard, no less) faces a similar problem
(also faced by SNOBOL, I am told): string variables can be dynamically
constructed by a program and executed (in MUMPS, this is called "indirection").
While MUMPS doesn't fly, it provides sufficient power to support several
commercially available medical applications (running hospitals, for example).
Clearly this code does not approach compiled-code speeds, but people are
voting with their money that it is acceptable.  I note in passing that
MUMPS indirection is explicitly invoked,  while pre-processor constructs can
be invoked anywhere, giving MUMPS strong "hints" when to re-invoke the parser.

By the way, MUMPS has other attributes that I would not necessarily endorse.

	-andy kegel
	an ex-MUMPS programmer now employed elsewhere