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

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.
--

--




Thu, 06 Mar 1997 12:05:15 GMT  
 Languages From Hell -- your favorite one could walk again!

Quote:

>I'm looking for specifications of archaic computer languages.

How about Magic/L?  It's an incrementally compiled/interpreted language
that combines the worst features of every language and adds a couple of
it own.  Here's a code sample. Note that the spaces are REQUIRED! (i.e.
this language sees "ptr(" as different from "ptr (". )   That
and the pereverted Pascal syntax are the languages biggest problems.
The language had a saving grace, though.  It had a built in Macro Assembler.
I've used it on Sun 2s and 3s.  Apparently it worked on 8080 and 8086 type
processors as well.  It can have multiple statements on a line if the
statements are separated by the ;; operator.

Magic/L was sold by LOKI Engineering circa 1982.  I don't know if they are
still in business.

The language had a saving grace, though.  It had a built in Macro
Assembler. I've used it on Sun 2s and 3s.  Apparently it worked on
8080 and 8086 type processors as well.  It can have multiple
statements on a line if the statements are separated by the ;;
operator.

-------------------------------------------------------------------------------

;       TRANSFORMATION FROM CARTESIAN TO SPHERICAL COORDINATES
;       CALLING SEQUENCE
;       CARSPH ( X , ptr ( XLONG ) , ptr ( XLAT ) )
;
;       X IS A UNIT 3-VECTOR
;       XLONG,XLAT WILL CONTAIN THE LONGITUDE AND LATITUDE ON RETURN
;       CORRESPONDING TO THE VECTOR X

define carsph
 real x ( 3 ) , xlong ( 1 ) , xlat ( 1 )
 local
 real t , temp1

 xlong ( 0 ) := atan2 ( x ( 0 ) , x ( 1 ) )
 t := sqrt ( x ( 0 ) * x ( 0 ) + x ( 1 ) * x ( 1 ) )
 print t

 if ( t <>0 )
  temp1 := x ( 2 ) / t
  xlat ( 0 ) := atan ( temp1 )

 else   ; vector sent was solely in z-axis direction, xlat := pi/2 or -pi/2
  print x ( 2 )
  xlat ( 0 ) := 1.5707963 / x ( 2 )

 endif
end

--
Eric Korpela

<a href="http://cs.indiana.edu/finger/mofo.ssl.berkeley.edu/korpela/w">Click here for more info.</a>
--




Fri, 07 Mar 1997 06:30:48 GMT  
 Languages From Hell -- your favorite one could walk again!

: But Knuth's MIX _was_ implemented.  When I was an undergraduate at the
: University of Auckland, back when we had a Burroughs B6700, there was
: a MIXAL assembler and MIX interpreter available, written in B6700 Algol.

OK.  Happens that a MIX interpreter was one of the first things to be
submitted to the Museum of Retrocomputing.

: >   * Evil reputation.  Preference will be given to languages only spoken
: >     of in horrified whispers.
:
: Don't C and Perl qualify as languages only spoken of in horrified whispers?

Yes, in many circles.

However, we are hardly short of implementations for them. :-)
--

--




Mon, 10 Mar 1997 05:15:55 GMT  
 Languages From Hell -- your favorite one could walk again!
[suggestions for hideous old languages sought]

Dare one nominate something like SGML?  We may, likewise, not be short
of implementations here -- but implementations of what, exactly?  But
I know from the zealots that it's gonna be great.  So perhaps this
nomination should be withdrawn until some future date (at least until
after someone decides what the grammar really looks like?).

Okay.  Here's another:  ZGRASS.  Anyone remember it?  Unfortunately,
I don't *think* I can come up with a spec for it.  But I'll grub around
and see.
--
Gary H. Merrill  [Principal Systems Developer, Compiler and Tools Division]
SAS Institute Inc. / SAS Campus Dr. / Cary, NC  27513 / (919) 677-8000

--




Tue, 11 Mar 1997 04:37:07 GMT  
 Languages From Hell -- your favorite one could walk again!

Quote:

>Dare one nominate something like SGML?  We may, likewise, not be short
>of implementations here -- but implementations of what, exactly?

Have you ever used Mosaic?
How about Microsoft Windows help?

HTML and RTF are basically SGML. SGML is a document description language.
It specifies no semantics, just a syntax.
--
Har du kramat din varg idag?



Thu, 13 Mar 1997 17:37:35 GMT  
 Languages From Hell -- your favorite one could walk again!

Quote:

>[suggestions for hideous old languages sought]
>Dare one nominate something like SGML?

Huh?  It's neither all that hideous, nor really obsolete.  Unless I miss my
guess entirely, HTML is a DTD on top of SGML, isn't it?

It's certainly no worse than troff.  And I was writing mainframe
documentation in a subset of it only last year.

Adam
--

--




Sat, 15 Mar 1997 07:04:08 GMT  
 Languages From Hell -- your favorite one could walk again!
: [suggestions for hideous old languages sought]

It may not be old but it sure is hideous. TeX wins every time. I reckon I
can program in at least a dozen HLLs and maybe more macro-assemblers but
every time I want to make TeX do a new trick it's like I'm a complete
neophyte. This feature of non-incremental learning (however much you know,
you still get totally surprised) is tightly linked to the use of macro
expansion languages generally, which come straight from the innermost
fires of hell. Oh and I wrote a book on{*filter*}and its insides, so don't
get the idea I haven't tried hard enough...

I suppose it isn't dead enough yet for your needs, but hopefully it will be
soon, so perhaps you could get in a pre-emptive strike ;-)

                              Adrian

--
Dr Adrian Johnstone, Computer Science Dept, Royal Holloway, University of London

--




Wed, 12 Mar 1997 01:02:34 GMT  
 Languages From Hell -- your favorite one could walk again!
: I'm looking for specifications of archaic computer languages.

I have the v6 C source code for a language only two persons on the Earth
knew how to program in -- the author (Mikhail Flyerov) is dead, I'm still
alive (I hope).  It is a minimalistic macro-processor with few real neat
features and *very* fast; it was powerful enough to write a fortran-to-C
converter in it (and some parts of my ISO Pascal compiler for Unix v6 were
written in it).  The language is called "Mini-Macro".

I'm too lazy to retrieve it from floppies but if anybody has any
inclination to revive it...

--vadim
--




Thu, 13 Mar 1997 15:13:01 GMT  
 Languages From Hell -- your favorite one could walk again!

Quote:
>But Knuth's MIX _was_ implemented.

Didn't the MIX architecture have a kind of Heisenberg uncertainty
principle?  You could determine either the word size _or_ the radix,
but not both at the same time.  :-)

      Henry Baker
      Read ftp.netcom.com:/pub/hbaker/README for info on ftp-able papers.
--




Sat, 15 Mar 1997 00:32:55 GMT  
 Languages From Hell -- your favorite one could walk again!

Quote:
>[suggestions for hideous old languages sought]
>Dare one nominate something like SGML?


|> Huh?  It's neither all that hideous, nor really obsolete.  Unless I miss my
|> guess entirely, HTML is a DTD on top of SGML, isn't it?
|> It's certainly no worse than troff.  And I was writing mainframe
|> documentation in a subset of it only last year.

Yeah?  Then try to write a parser for it.  Or just try to read Goldfarb's
book without getting psychotic and {*filter*}.  Also, try reading the
comp.text.sgml group -- particularly the recent thread titled "SGML and
its enemies".  Pay special attention to the various groups who think that
the language is (a) described by a regular grammar, (b) is LL(1), (c) is
LL(something else), (d) isn't LL(k) for any k, (e) isn't even LR(k) for
any k.  I submit that *any* language that is the source of such confusions
among knowledgeable users and compiler writers is a language from hell.  I
agree it's not obselete (though do note the mounting sentiment to flush it
and get on with a "second generation" language that at least has a clear
formal description).  More's the pity.

--
Gary H. Merrill  [Principal Systems Developer, Compiler and Tools Division]
SAS Institute Inc. / SAS Campus Dr. / Cary, NC  27513 / (919) 677-8000

--




Sat, 15 Mar 1997 22:09:31 GMT  
 Languages From Hell -- your favorite one could walk again!
| 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.

This program ought to be sent through your friend's Algol-60 compiler.
It appears on page 225 of "Programming Languages, Design and Implementaton"
book by Terrence Pratt.

When the program is complete, the variable n will contain 13.

(This will compile under SIMULA under slight modification by using the
outint(n,digits) and outimage calls instead of the print call.)

BEGIN
  INTEGER n;

  PROCEDURE p(x,c); VALUE c; PROCEDURE x; INTEGER c;
  BEGIN
    PROCEDURE q(t); LABEL t;
    BEGIN
      n := n + c;
      x(k);
      GOTO t
    END;

j:  IF c > n THEN x(j) ELSE p(q,c+1);
k:  n := n + c;
    GOTO l
  END;

  PROCEDURE q(l); LABEL l;
  BEGIN
    n := n + 1;
    GOTO l
  END;

  n := 3;
  p(q,4);

l:
  print(n)
END

--

1 John 1:9



Mon, 17 Mar 1997 05:30:47 GMT  
 
 [ 11 post ] 

 Relevant Pages 

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

2. Quoting hell revisited again

3. Scheme vs ML again and again and again and again

4. Scheme vs ML again and again and again and again

5. I think Smallscript is my new favorite language...

6. Why lisp is not my favorite programming language

7. Vote for your favorite language

8. Why REXX is not my favorite scripting language (was Re:

9. Why REXX is not my favorite scripting language (Pipes)

10. Why REXX is not my favorite scripting language (was Re:

11. Ruby and Ocaml - my two favorite languages

12. Our favorite language

 

 
Powered by phpBB® Forum Software