SUMMARY: Reduced Instruction Set Languages (Steve Masticola)
Thu, 21 May 1992 01:48:47 GMT

          From comp.compilers

Related articles
Re: Reduced Instruction Set Languages (1992-05-11)
SUMMARY: Reduced Instruction Set Languages (1992-05-21)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Steve Masticola)
Keywords: design, summary
Organization: Rutgers Univ., New Brunswick, N.J.
References: 92-05-068
Date: Thu, 21 May 1992 01:48:47 GMT

A few weeks ago, I posted the following article to comp.compilers
(with some editing by John R. Levine; thanks, it was an improvement!):

> Does anyone out there have a reference to reduced instruction set
> languages, i.e. HLLs with a simplified set of language primitives. What
> I'd ideally like to learn about are languages supporting concurrency, with
> a few primitives that are as orthogonal to each other as possible.
> Modula-3, with its 50-page language reference manual, would be an example,
> but ideally I'd like a language with a definition based on a formal
> semantics.

> I'd heard the term, "reduced instruction set language" before, but
> don't remember where.

> - Steve (

And in reply, I received the following "votes":

Scheme 4
occam/occam2 4
Eiffel 1

Personally, I don't think Eiffel qualifies as a RISL; it's far from a
simple language, and I don't know of a formal semantic definition for
it. While I haven't read Meyer's "Eiffel: the language", 50 pages of
syntax and semantics imply either a very complicated language or the
lack of a formal specification.

For those interested, I have the following references.

\bibitem[CR91]{cr:91}Clinger, W. and Rees, J., ed. ``Revised Report on
the Algorithmic Language Scheme.'' {\em LISP Pointers}, {\bf 4:3},
July 1, 1991.

\bibitem[Inmo84]{inmo84}Inmos, Ltd. {\em Occam programming manual.}
Prentice/Hall International, Englewood Cliffs, N.J., 1984. ISBN

\bibitem[Hoar85]{hoar85}Hoare, C. A. R. {\em Communicating sequential
processes.} Prentice/Hall International, Englewood Cliffs, N.J., 1985.
ISBN 0-1315-3271-5.

The replies below contain many others. Thanks to all who replied!

- Steve Masticola (


Reply-To: Scott Draves <>

scheme has a very small definition, including a formal semantics.
try ftp to There is a descendent called Mul-T
which is a high performance multi-processing version of scheme.


Reply-To: (Joseph Lavinus)

I think Scheme would fit the bill perfectly. It's a small, simple language,
and the Scheme standard includes denotational semantics for the language.

The Revised^4 Report on the Algorithmic Language Scheme (R4RS) is available
from the Scheme Repository (, and there's also an IEEE
standard that you can purchase.



Reply-To: "Samuel Paik" <>

How aboud Scheme? The Draft Standard for the Scheme Programming
Language (P1178/D4) is 51 pages including appendices and index and
forward. Here is a quote from the forward:

    "Programming languages should be designed not by piling feature on
    top of feature, but by removing the weaknesses and restrictions that
    make additional features appear necessary. Scheme demonstrates that
    a very small number of rules for forming expressions, with few
    restrictions on how they are composed, suffice to form a practical
    and effecient programming language that is flexible enough to
    support most of the major programming paradigms in use today."

Currently, concurrency is not part of the Scheme standard (except for
promises), although various groups are experimenting with different
constructs. One of the appendices is a "formal denotational semantics
for the primitive expressions of Scheme and selected build-in

As an alternative, Linda seeks to be a concurrent (coordination)
extension for any language.

Samuel Paik <-- this is my "long term" address,
                                                              the account I am writing from goes
                                                              away in August

Reply-To: Scott Schwartz <>

How about scheme? The definitions I've seen (i.e. r4rs) come with
(unofficial) formal semantics.



Try to look to OCCAM:
- it is concurrent;
- is is restricted by definition (at least by name :-) )

Algirdas Pakstas


Reply-To: Pete Jinks <>

the original version of occam
(manuals etc. from prentice hall)
csp (communicating sequential processes)
(Hoare: paper in CACM about 10 years back)

both are simple parallel languages with formal definitions available:
occam: e.g. Oxford Programming Research Group, A.W.Roscoe
csp: the original paper? Hoare?

if you want non-parallel languages, try Dijkstra's work, or Gries', etc.


Reply-To: (Jon Mauney) [posted to comp.compilers]

Try occam, designed by D. May. It's about as stripped down as you can
get, and it is designed for concurrency. A report was printed in SIGPLAN
Notices about 10 years ago, and there is at least one book.
Jon Mauney, parsing partisan
Mauney Computer Consulting (919) 828-8053


Reply-To: (Edward Feustel)

You might try occam2. It is very reduced and corresponds roughly
to Tony Hoare's CSP semantics.


Reply-To: Neil Wilson <>

I've heard the term 'RISC language' used to refer to the
object-oriented language 'Eiffel'.

It is described in the book 'Eiffel: The language' by Bertrand Meyer
published by Prentice Hall.

Although the book itself is 500pp long, it describes philosophy and
methodology as well as syntax and semantics.

The syntax productions and semantic definitions wouldn't fill 50 pages
on their own and are well signposted in the book's text.

Definitely worth a look if nothing else.

Neil Wilson (Lucan)

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.