[clean-list] Joe Armstrong's thesis

Brent Fulgham brent.fulgham@xpsystems.com
Tue, 23 Dec 2003 13:04:33 -0800


> Erlang's starting points are quite alien to me. Armstrong 
> says Erlang is strict, but he does not say why. John Hughes 
> in his famous paper "Why Functional Programming Matters" 
> points out the contribution of lazy evaluation to program correctness.

Erlang is strict in the same sense Scheme is strict, plus a single-assignment behavior.
 
> Erlang is dynamically typed and features side-effects. 
> Armstrong does not reflect on these design decisions, in 
> particular on their effect on program correctness. He does 
> not give the impression he is even aware of static typing and 
> other compile type program analysis methods to further correctness.

I think he is probably aware of these concepts, at least in passing, since he has taken part in the "Lightweight Languages" workshops at MIT.  These panel discussions often featured static typing critiques and other similar topics.
 
> All in all, I think reading the thesis was a waste of time. 
> Apart from one thing: Armstrong's work reassures me in 
> thinking that exception handling may be implemented in a way 
> that retains referential transparency / purity - on some 
> level.

When this discussion thread ended recently, I didn't feel that any meaningful conclusion had been reached.  Lots of points of view, but no clear definition of how it should behave.

> This all should have the effect that when an application does 
> not respond, the user will have confidence that the operating 
> system is aware of this and that all feasible options are 
> being tried to achieve the desired result.
> 

Yes -- these ideas sound great, especially from a user-interface perspective.  There are so many cases where we explain what the error is in great detail, but don't correct the problem automatically (even though we know how to do so.)

-Brent