Re: Floating point is unnecessary for operating systems: Yes, that's a big relief for early, small computers without hardware floating point!  But floating point is important for runtime libraries which need to implement math functions or reading & writing floating point numbers.  IMHO that's work for a system implementation language too, YMMV.

Re: BLISS:
I found it sad, but the newest versions of the BLISS compilers do not support using it as an expression language.  The section bridging pp 978-979 (as published) of Brender's history is:
"The expression language characteristic was often highly touted in the early years of BLISS. While there is a certain conceptual elegance that results, in practice this characteristic is not exploited much.
  The most common applications use the if-then-else expression, for example, in something like the maximum calculation illustrated in Figure 5. Very occasionally there is some analogous use of a case expression. Examples using loops (taking advantage of the value of leave), however, tend not to work well on human factors grounds: the value computed tends to be visually lost in the surrounding control constructs and too far removed from where it will be used; an explicit assignment to a temporary variable often seems to work better.
  On balance, the expression characteristic of BLISS was not terribly important."
Another thing that I always liked (but is still there) is the ease of accessing bit fields with V<FOO_OFFSET, FOO_SIZE> which was descended from BLISS-10's use of the PDP-10 byte pointers.  [Add a dot before V to get an rvalue.]  (Well, there was this logic simulator which really packed data into bit fields of blocks representing gates, events, etc....)

Yes, there is now a BLISS-64 compiler and a MACRO-64 compiler which generate x86_64 code.

- Aron

Ref: https://www.cs.tufts.edu/~nr/cs257/archive/ronald-brender/bliss.pdf


On 7/8/24 18:14, Paul Winalski wrote:
...
BLISS is also a true, full-blown expression language.  Statement constructs such as if/then/else have a value and can be used in expressions.  In C terminology, everything in BLISS is a lvalue.  A semicolon terminates an expression and throws its value away.
...
DEC used four dialects of BLISS as their primary software development language:  BLISS-16, BLISS-32, BLISS-36, and BLISS-64 the numbers indicating the BLISS word size in bits.  BLISS-16 targeted the PDP-11 and BLISS-36 the PDP-10.  DEC did implementations of BLISS-32 for VAX, MIPS, and x86.  BLISS-64 was targeted to both Alpha and Itanium.  VSI may have a version of BLISS-64 that generates x86-64 code.

-Paul W.