[TUHS] mental architecture models, Anyone ever heard of teaching a case study of Initial Unix?

Aron Insinga aki at insinga.com
Tue Jul 9 11:04:12 AEST 2024


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/tuhs/attachments/20240708/c4d28e5e/attachment.htm>


More information about the TUHS mailing list