[comp.lang.c++] Xerox PARC's Cedar

folta@tove.umd.edu (Wayne Folta) (05/14/89)

I just read about Xerox PARC's newest OOPL, "Cedar".  The article said that,
unlike Smalltalk--for which PARC spun-off a commercial producer: ParcPlace--
Cedar would be distributed Public Domain.  Does anyone out there know
any details of Cedar, such as what it "looks like"?  I'd also like to
know when it might be publicly available and if it might be available for
the Macintosh.


Wayne Folta          (folta@tove.umd.edu  128.8.128.42)

alien@cpoint.UUCP (Alien Wells) (05/27/89)

In article <17504@mimsy.UUCP> folta@tove.umd.edu.UUCP (Wayne Folta) writes:
>I just read about Xerox PARC's newest OOPL, "Cedar".  The article said that,
>unlike Smalltalk--for which PARC spun-off a commercial producer: ParcPlace--
>Cedar would be distributed Public Domain.  Does anyone out there know
>any details of Cedar, such as what it "looks like"?  ...

I was a co-op at PARC when Cedar was started, so I have some 'historical' 
information that may be of interest, but I do not know anything of the 
current state of its implementation.

Xerox developed (another) in-house language called 'Mesa' which was a 
strongly typed language (somewhat reminescent of Pascal) with strong
modular abilities (a lot of the developers were Modula people).  You 
developed function prototypes through definition/interface files and 
could 'plug-replace' different implementations.  The facilities for
creating your own types were very nice (for its time).

Unlike Smalltalk (which Xerox 'officially' decided it had no commercial
interest in), Mesa was used extensively for in-house development work of
real products.  The Xerox Star was developed in Mesa, as were a lot of the
high-end copiers Xerox was doing.  I find your comment about Cedar to be
interesting, since I had thought Xerox had let Smalltalk go out public
domain while keeping Mesa proprietary (despite requests from a number
of universities and customers).

My understanding is that Cedar was started as a development environment
to surround the Mesa programming language, sort of the way the browser/etc
surrounds the Smalltalk language.  Thre was a lot of talk about code-
sharing, language extensibility, environments, etc, etc.  Sorry I can't
help with more, but Cedar was just getting going when I left ('80).
-- 
=============================================================================
		A path is a terrible thing to waste ...
	decvax!frog!cpoint!alien	bu-cs!mirror!frog!cpoint!alien
=============================================================================

gillies@p.cs.uiuc.edu (05/30/89)

Xerox released MESA to universities in 1985.  I'm not sure what these
universities had to sign, but they were given full documentation (the
MESA programming language, the Pilot kernel operating system, and the
Tajo development environment).  Big corporate customers like Boeing
were also given these things.  At least 20 universities received a
grant of 20 machines or more, and the documentation.  One thing that
Xerox DID NOT disclose was the architecture of the Dandelion
processor, and the microcoded machine language for the MESA processor.
In the late 1970's this was something great, but in today's world of
megabyte programs it is something incredibly crufty, like the 8088.

Cedar is PARC's guess at the programming technology of the 1990's --
they started with MESA as the basis language.  MESA is a strongly
typed algorithmic language like PASCAL, with complexity that lays
between MODULA-II+ and ADA (incidentally, the DoD once asked Xerox to
disclose MESA, to avoid/help with the development of ADA.  Xerox in
its infinite wisdom decided to keep MESA a secret).  PARC added
features to give it the ability to be "type-safe".  These features
include garbage collection, string handling, and automatic compiler
checks for the "safe" subset of the language.

One of the unique things about MESA is that you can develop dangerous
non-safe code (e.g. memory smashing is possible), and then turn on the
safety checking and debug the danger out of your code.  The last thing
I heard was they were rewriting the Pilot O/S to be completely type-safe.
They were also working on a machine-independent version of the Cedar
language, called Mimosa.

Cedar is also the development environment that runs on dorados (about
the speed of a NeXT, with a turbo I/O system) .  There are some really
crufty things about this environment, and some other very beautiful
things.  For more information, see the many papers in the annual ACM
SOSP proceedings for the last 5 years. 

Cedar is very old, and has some amazing things, such as protocol
compilers, user interface compilers, and incredible configuration
management software.  But it shows it age, with some incredibly
baroque drawbacks (such as a wierd file system like the Mac's MFS,
general fragility/crashability, and language drawbacks due to the
stale hardware architecture).  The NeXT user interface / development
environment, which was recently written from scratch by a development
team that includes many ex-Xerox programmers, is probably cleaner and
more desirable.

I left Xerox in the summer of '86.  Anyone wish to carry the story further?

Don Gillies, Dept. of Computer Science, University of Illinois
1304 W. Springfield, Urbana, Ill 61801      
ARPA: gillies@cs.uiuc.edu   UUCP: {uunet,harvard}!uiucdcs!gillies

rsalz@bbn.com (Rich Salz) (05/31/89)

In <77300026@p.cs.uiuc.edu> gillies@p.cs.uiuc.edu writes:
>Cedar is PARC's guess at the programming technology of the 1990's --

>Cedar is also the development environment that runs on dorados ...

>I left Xerox in the summer of '86.  Anyone wish to carry the story further?

Cedar is being ported to Unix; someone gave a talk at MIT (which I
missed, drats) on the incremental compiler/debugger system for Cedar.
I remember the interesting phrase "the Cedar portable runtime."  Yeah,
runtime was being used as a noun.  I believe there was implication
that Cedar was going to be WIDELY available...

I gotta give Xerox credit; they also came up with the best names
for hardware and software releases; I loved "Intermezzo."
	/rich $alz
-- 
Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.