[comp.unix.questions] Bliss Compiler wanted

kwrich@ihuxz.ATT.COM (Kevin Richardson) (06/22/88)

Hello,
   Curiosity has gotten the best of me and I've been wondering
whether or not I could recompile some code that I discovered.
The code is written in BLISS (Basic Language for Implementing
System Software), a language developed at Carnegie Mellon in the 
mid to early 1970s. My question is whether or not anyone has or 
knows of the existence of a BLISS compiler for a UNIX System. Any 
referral or response would be appreciated.
-- 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Kevin Richardson, AT&T Bell Laboratories, ihnp4!ihuxz!kwrich, x3175

jensen@gt-eedsp.UUCP (P. Allen Jensen) (06/23/88)

Is the CMU Bliss the same as the BLISS used by DEC ?  The one from DEC
is a Medium (as opposed to High or Assembler) level language that is
a lot like a cross of C and Pascal - Block structured like Pascal but
with pointers and week type checking like C.  If it is the DEC language,
it may only be available under VMS - any DEC people out there ?

P. Allen Jensen
Georgia Tech, School of Electrical Engineering, Atlanta, GA  30332-0250
USENET: ...!{allegra,hplabs,ihnp4,ulysses}!gatech!gt-eedsp!jensen
INTERNET: jensen@gteedsp.gatech.edu
-- 
P. Allen Jensen
Georgia Tech, School of Electrical Engineering, Atlanta, GA  30332-0250
USENET: ...!{allegra,hplabs,ihnp4,ulysses}!gatech!gt-eedsp!jensen
INTERNET: jensen@gteedsp.gatech.edu

reid@decwrl.dec.com (Brian Reid) (06/24/88)

People are asking about BLISS.
BLISS was invented at Carnegie-Mellon in the late 1960's, and was first
implemented for the PDP-10 as Bliss-10. A better, incompatible version for
the PDP-11 was developed, called (oddly enough) Bliss-11. In the middle
1970's, DEC picked up BLISS, filled it full of dollar signs and long mnemonic
names, and produced BLISS-36 (a successor to BLISS-10), BLISS-16 (a successor
to BLISS-11) and BLISS-32 (for the Vax). I don't believe that BLISS-16 ever
amounted to much, since it was implemented only as a cross-compiler from the
PDP-10 (as was Bliss-11, come to think of it). Then DEC found a set of macros
that could be layered on top of BLISS-36, BLISS-32, and BLISS-16 to implement
a machine-independent common version, which I think was called Common BLISS
or something like that.

A lot of VMS is written in BLISS. Unfortunately, not enough of it is. Far too
much of VMS is written in VAX assembler.

At some point in there, some people at Bell Labs produced 98% of a Bliss
compiler for an IBM 360 or a Honeywell or an Interdata or something like
that, but in general BLISS exists/existed only for DEC machines.

I've always liked BLISS. It's the world's greatest assembler. It doesn't have
pretenses of having data types, like C, and it is very regular and very
simple. Its most notorious feature was the need for an explicit "value of",
operator: if you wanted to do the equivalent of the C statement
	x = y + 1;
in Bliss, you had to say
	x := .y + 1;
The "." means "contents of y", since all expressions evaluated to addresses
and not values. (If you just said "y + 1", then it added 1 to the address of
y and not the contents of y).

 While this was a big nuisance, and led to expressions like
	Z[.A+.B] := .A[.A[.I-4]]
that are as awful as C type declarations, it also let you do jazzy stuff like
	F(X) := 3;
which would call the function F with the argument X, which would return an
address. The number 3 would then be stored into that address. 

BLISS had very sophisticated control structures, much nicer than C has. I
think the dot operator for dereferencing was what doomed it, though to
this day I would rather be programming in Bliss than in C.

The people who designed and implemented the first few Blisses included Chuck
Geschke, who is now president of Adobe Systems, Bruce Leverett, who works for
Scribe Systems, Richard Johnsson, who works with me at DEC. Ron Brender was
the major guru of Bliss at DEC. Probably still is.

simmons@applga.uucp (Steve Simmons) (06/24/88)

In article <315@gt-eedsp.UUCP> jensen@gt-eedsp.UUCP (P. Allen Jensen) writes:
>
>Is the CMU Bliss the same as the BLISS used by DEC ?

In '83 I was supporting some BLISS-10 utilities at ADP Network Services.
We ran into bugs in the DEC BLISS-10 compiler which DEC wouldn't fix.  We
had source, which was full of CMU names.  I went to CM to see if theirs
was PD, and if so, could we get it.  On doing some comparison, we found
that the DEC BLISS-10 compiler was absolutely identical to the CMU except
for a few bug fixes CMU had done since DEC picked it up.

About this time DEC came out with the BLISS-16, BLISS-32, and BLISS-36
compilers to be their "standard systems development language".  They
wanted a ludicrous amount of money for BLISS-36.  We ordered an evaluation
copy, and found it was absolutely identical to BLISS-10.  Same checksum.
And same support categore.  I forget the name, but it meant "We will
accept bug reports.  But we will take no action."

That's the way it was in '83.

Needless to say, we didn't buy BLISS-36.  If you can get BLISS from CMU
and you have a PDP-10 machine, do it.
-- 
+- Steve Simmons            UNIX Systems Mgr.         Schlumberger CAD/CAM -+
+  simmons@applga.uucp                              ...umix!applga!simmons  +
+- "Opinions expressed are all my own, etc, etc, etc, etc, etc, etc, etc." -+