"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.

Service Frame-querks

More from Patrick Mueller's sudden blogginess...

"The level of functionality we have today, provided by the browsers, for components/modularity of javascript code is <script src="">. Basically, all the power, flexibility, and functionality of the C preprocessor's #include statement (good and bad). But I'm looking at my calendar to see what year this is again. Doh!

The big JavaScript frameworks build their component stories on top of this, and the whole thing just gives me the willies looking at it."

http://pmuellr.blogspot.com/2008/11/javascript-service-frameworks.html

Patrick also mentions Java's service frame-querkiness with class loaders, jar files, etc. I don't know much about OSGi - which he and others suggest plugs some holes.

Dang. I agree these are issues. I am wondering though how simple a language can be, and fill the service frame-querkiness some other way. For one thing, language-level frame-querks don't play well together across multiple languages. Unless you cram them together into a single VM and make them all conform to some base-level language concepts.

Patrick heads in this direction when he writes about GoogleGears WorkerPools as a potential mechanism for better service isolation...

The great thing about the WorkerPool stuff is that it brings another dimension to the JavaScript story - separate environments / contexts / spaces. The ability to have a bunch of code running, separated into protected object spaces, with very explicit communication channels open between these spaces.
There is little that's language-dependent about that. And this lowers the burden on what must be "in" the language per se.

Thursday, November 13, 2008

We Have A Problem: Citi

From portfolio.com...

"America, we have a problem. Citigroup is the largest bank in America,
with a balance sheet of over $2 trillion -- and it's also the most
dysfunctional. Since Vikram Pandit took over, Citi has lost not only
$20 billion but also more than 70% of its market capitalization,
making it now worth significantly less than, say, Genentech.
...
Citi might well turn out to be Hank Paulson's largest and biggest headache."

http://www.portfolio.com/views/blogs/market-movers/2008/11/13/citis-desperate-straits?tid=true

IntelliJ now supports Flex

http://www.jamesward.com/wordpress/2008/11/13/intellij-idea-80-adds-flex-support/

Wednesday, November 12, 2008

Whatsits

Patrick Mueller writes...

It's time to stop thinking we can apply bandages to the status quo and make everything better. We want to believe. Just another gadget or framework is going to make everything better! We've brainwashed ourselves.

Big Picture: A+

Big Picture honors Veteran's Day and current military with an incredible sequence, including the following...

What struck me most are the A+ marks on this soldier's boots.

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.