From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.0 required=3.0 tests=BAYES_40 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: Wed, 14 Apr 93 14:23:31 -0700 From: mshapiro@manta.nosc.mil (Michael D Shapiro) Subject: Babel in an Ada-mandated world (Was Re: perl in an Ada...) Message-ID: <9304142123.AA11317@manta.nosc.mil> List-Id: Mike, Your note on possible multiple language implementations in Ada and its mention of one in particular brought back a fond reminiscence. I was part of the Bell Labs team that built SNOBOL4 and I did much of the work on the first port (started by R. Stockton Gaines, then of IDA), from an IBM 360 to a CDC 6500, at Purdue University. One of my demo programs was a SNOBOL4 version of "linear LISP" (with every expression kept as a character string). As a test case, I wrote a factorial expression in LISP. Factorial 0 worked reasonably well, but factorial 1 was rather slow. We never finished computing factorial 2 because we had to shut the machine down for maintenance. I think that the implementation of the SNOBOL4 compiler/interpreter in Ada you suggested would be a simple matter. We wrote the system in the only machine-independent language we had available at the time (late 1960s), entirely in assembly language (in macros) for a SNOBOL4 Implementation Language (SIL) virtual machine. To port to any real machine, we would write a set of the 120+ macro definitions and any support routines they required. I'm certain we could take the 7,000+ lines or so of source code (still available in the public domain), write a "simple" translator and produce Ada source. (The next time I have available two graduate-student-semesters of free time, I may work on it.) Voila. Mandated SNOBOL4. (For help, we might dig up Ralph Griswold's book "The Macro Implementation of SNOBOL4.") And you would have the LISP you want (?) with no extra effort! Michael [Don't you dare blame my current employer, the long-ago Naval Electronics Laboratory (NEL), for this scheme. If you do I might wind up having to implement a version of NELIAC in Ada. (See Maurice Halstead's "Machine Independent Computer Programming," Spartan Books, 1962, for information on NELIAC.)] ~~~~ ======================================================================= Michael D. Shapiro, Ph.D. e-mail: mshapiro@nosc.mil NCCOSC RDT&E Division (NRaD) Code 411 San Diego CA 92152-7560 Voice: (619) 553-4080 FAX: (619) 553-4808 DSN: 553-4080 [Until January 1992 we were Naval Ocean Systems Center (NOSC)]