Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!ucla-cs!zen!ucbvax!decvax!ima!johnl From: johnl@ima.UUCP Newsgroups: comp.compilers Subject: BLISS Message-ID: <628@ima.ISC.COM> Date: Mon, 27-Jul-87 11:00:34 EDT Article-I.D.: ima.628 Posted: Mon Jul 27 11:00:34 1987 Date-Received: Tue, 28-Jul-87 03:14:19 EDT Sender: johnl@ima.ISC.COM Reply-To: Alan LehotskyLines: 56 Approved: compilers@ima.UUCP As the project-leader for BLISS at DEC for 6 years, I'd like to comment on several points raised about Bliss. 1. BLISS "failed" as a generally available language for several reasons. o The "typed operator and untyped operand" world-view is contrary to the modern notion of type-checking being a good thing. And just like C, there are lots of syntactically legal BLISS expressions which are semantic nonsense. For all the bad things about Pascal, it seems that when my programs COMPILE, they run correctly. I cannot make this claim for either C or BLISS. o BLISS compilers are difficult to implement and the only "public-domain" compiler was written in BLISS-10 for the PDP-11 o We (the DEC developers) didn't do an adequate job of making the language "available" to our customers. I spent YEARS trying to get BLISS released as a product, and more (fruitless) years trying to get the price reduced to be as cheap as the assembler! [Namely FREE]. 2. Regarding Charles Simmons comment about BLISS not becoming DEC's system language..... I'm not certain what's most popular these days, but when I was there(1975-1983), BLISS was very heavily used. All of DEC's compilers for the VAX were written in BLISS (except for PL/1). Much of the VAX file-system, parts of RMS-11 and sundry things on the DEC-10 and 20 were done in BLISS. 3. Regarding portability. The two languages Bliss-10 and Bliss-11 were developed at CMU and were very definitely non-portable. At Digital, a group of people including Ron Brender, Marty Jack, and many others developed a new language "Common BLISS" that had a lot of support for portable programming. There were four implementations of Common BLISS - Bliss-32, Bliss-36, Bliss-16 and uBliss (micro-Bliss). The latter was a subset compiler that ran on a PDP-11! A lot of code was developed at DEC in "Common BLISS" - one example was DSR (Digital Standard Runoff) which took the same source and ran on PDP-11, DEC-10 and VAX. I have to admit that I really miss Bliss. It had a terrific macro-system integrated into the compiler (another reason why it was hard to write a compiler), which supported iteration and recursion. [We wrote Towers of Hanoi as a bliss macro that computed the moves at COMPILE TIME!] [Someone else once wrote a pseudo basic interpreter as a BLISS macro!] It generated fantastic code, and had machine-dependent features for fine-tuning (such as passing parameters in registers, or leaving a global variable in a register for use by a group of cooperating subroutines. My fantasy bumper sticker: "Honk if you love BLISS" Al Lehotsky, apollo!alan -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request