Languages From Hell -- your favorite one could walk again!

esr@Netaxs.com (Eric Raymond)
Sun, 18 Sep 1994 04:05:15 GMT

          From comp.compilers

Related articles
Languages From Hell -- your favorite one could walk again! esr@Netaxs.com (1994-09-18)
Re: Languages From Hell -- your favorite one could walk again! korpela@albert.ssl.berkeley.edu (1994-09-18)
Re: Languages From Hell -- your favorite one could walk again! peter@Starbase.NeoSoft.COM (1994-09-19)
Re: Languages From Hell -- your favorite one could walk again! peter@Starbase.NeoSoft.COM (Peter da Silva) (1994-09-20)
Re: Languages From Hell -- your favorite one could walk again! ok@cs.rmit.oz.au (1994-09-21)
Re: Languages From Hell -- your favorite one could walk again! esr@netaxs.com (1994-09-21)
Re: Languages From Hell -- your favorite one could walk again! sasghm@unx.sas.com (1994-09-22)
[9 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers,alt.folklore.computers,comp.lang.misc
From: esr@Netaxs.com (Eric Raymond)
Keywords: history
Organization: Net Access - Philadelphia's Internet Connection
Date: Sun, 18 Sep 1994 04:05:15 GMT

I'm looking for specifications of archaic computer languages.


I write language implementations for fun. After having written C-INTERCAL and
IEEE PILOT, I have decided that I would like to assemble a sort of living
museum and rogue's gallery of the languages time forgot --- an educational
selection of the freaks, oddities, and horrors from the history of computer
language design.


In addition to my implementations of INTERCAL and PILOT, I have collected
implementations of FOCAL and Trac. All the code is available for FTP at
locke.ccil.org:pub/retro. A friend of mind is working on an Algol-60-to-C
translator, and I have been sent a partial BLISS implementation which I may
complete if nothing better offers.


My offer: if you'll send me a redistributable softcopy specification or
manual for a language *you* think is sufficiently perverse to be interesting
and/or of great historical significance, and I agree with you, then I will
implement it!


Both of the existing Raymond retrocompilers are well documented, including
tour papers that discuss the internals. Both translate to C as an
intermediate language and call the local C to do code generation, assuring
both easy retargetability and high quality of generated code. Both may
well, in fact, be the highest-quality implementations in the histories of
their respective languages! I expect to continue this tradition in future
retrocompilers.


To take me up on this special offer, you must spply me with softcopy of a
specification of the language, or at least softcopy of a manual for some
reasonably canonical implementation. Hardcopy alone is not acceptable, as
I am a poor typist. You will strengthen your application considerably if
you can include test source or real programs with the spec. Please do
*not* bother sending me mail that just says "It would be neat if you did
X" without at least pointing me at a softcopy spec or offering to type one
in; all such idle vaporings will be rudely ignored.


This offer is not limited to compiled languages. I do interpreters too.
In fact, my IEEE PILOT implementation is both a floor wax *and* a dessert
topping...er, that is, both a PILOT compiler *and* a PILOT interpreter.


I am particularly interested in getting specifications and code samples
for the following languages: RPG, 1401 Autocoder, IPL-V, CORAL, and MAD.
As I pick my next project, candidate specifications will get points for
the following attributes:


      * Intriguing perversity. That is, peculiar control structures, odd
storage models, entertainingly tortured syntax and lexical rules, etc.


      * Historical interest. Languages like IPL-V that are remembered as
          failed alternatives to those now living, for example, would get many
          bonus points. So would languages like MAD, extinct but remembered in
          hacker folklore.


      * Pedagogical interest. Languages conceived for textbook purposes but
          never implemented, such as Knuth's MIX or Dijkstra's unnamed language
          from "A Discipline Of Programming", would be welcome.


      * Evil reputation. Preference will be given to languages only spoken
          of in horrified whispers.


      * Being compilable. Though I will cheerfully do interpreters, I find
          compilers more fun to write.


      * Length of time dead. All other things being equal, I will prefer
          older designs to newer ones.


      * Quality and completeness of documentation.


      * Availability of test code and sample programs.


Two kinds of language I am *not* generally interested in are assemblers
and MFTLs used by a community of one. While writing instruction-set
emulators falls within my definition of fun and interesting, I don't care
for the kind of toil involved in simulating port-connected I/O devices and
getting ancient binary formats exactly right. Nor do I care much about
languages only their inventor ever understood, unless they have some
design feature that is utterly fascinating to *me* (not just the designer).


Possible implementation languages for my retrocompilers and
retrointerpreters may include C, Perl, Scheme, or Emacs Lisp. All results
will be made publicly available in the retrocomputing archives at
locke.ccil.org.


Why am I doing this? Think of it as performance art. Or reconstructive
archeology. Or an excuse to construct educational toys. Or a kind of
arcane technical joke. Or a good way to take a break from my serious work
when I can't get away to jam with my musician buddies or windsurf or do
karate. All these motivations are potent in my mind.


So. Send me your bizarre computer-language revenants. I will send high
voltage through their neckbolts and make them live again.
--
Eric S. Raymond <esr@snark.thyrsus.com>
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.