"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Friday, November 14, 2008

Edison

Back a long time ago when I'd just started my full-time professional
programming career I was using Common Lisp and a couple of different
Modula-like languages. My employer, Data General, also had an Ada
compiler which I dinked around with. And we had a home-grown
compiler-compiler and a home-grown Ada-ish like language. Not long
after the Mac 512 was out and I had ExperLisp, MacScheme, Manx C, and
who can remember what else.

I was immersed in languages. Reading the journal "Software Practice
and Experience" I believe was the first time I encountered Per Brinch
Hansen's language, Edison.

http://en.wikipedia.org/wiki/Per_Brinch_Hansen

"The Design of Edison" (pdf): http://brinch-hansen.net/papers/1981b.pdf

http://www.amazon.com/Programming-personal-computer-Brinch-Hansen/dp/0137302673

I absolutely fell in love with Edison for many months. I built a
mini-Edison compiler and run-time in Common Lisp. The Edison book had
all the source code, in Edison.

Edison is Brinch Hansen's really nice attempt at a minimalist
Concurrent Pascal. If you can imagine a Pascal that is more Pascal
than Pascal, then you've imagined Edison.

"In designing the programming language Edison I tried to do two things:
(1) to achieve simplicity by questioning the necessity of a number of well-
known language concepts, and (2) to gain new insight by deliberately ap-
proaching language design with a philosophy that is completely different
from the spirit in which Concurrent Pascal was designed."

"The first viewpoint gradually led to the omission of many language fea-
tures..."

"reals
subrange types
variant records
files
pointers
unnamed types
goto statements
case statements
repeat statements
for statements
with statements
cycle statements
init statements
multiple class instances
parameterized classes
monitors
process modules
process queues"

Ultimately Edison did not hold my attention as a minimalist language.
I was discovering Scheme as a minimalist Lisp about the same time, and
Scheme did hold my attention. I never had a full Edison running, but I
still think building something large-ish in it would have been time
well spent.

I've been building a very simple, minimalist Lisp in ActionScript 3
based on a renewed interest in building simple operating systems in
Lisp. I started re-reading "The Design of Edison" from SP&E, and I
just ordered the Edison book, as it's been 15-20 years since I sold my
original.

http://twitter.com/patrickdlogan/status/960085525

Good times.

No comments:

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.