lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Thu, Nov 12, 2009 at 4:21 PM, David Given <dg@cowlark.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> There is nothing new under the sun.
>
> Have you seen Algol 68? As you might imagine, it's an Algol variant that
> came out in 1968. (Which makes it older than I am.) It begat Pascal,
> Modula, Oberon etc and is a cousin of C. (I think it's Lua's uncle.)
> There's a good Wikipedia page:
>
> http://en.wikipedia.org/wiki/ALGOL_68
>
> It's a bit scary. It looks *just like a modern programming language*.
> It's got C-like types (although to be more accurate, C has Algol-68-like
> types). It's got user defined polymorphic perators (with user defined
> precedence). Keywords and identifiers occupy different namespaces.
> Identifiers can contain spaces! It's got block expressions. It's got
> OCCAM-like concurrency (there's a par keyword for running processes in
> parallel and built-in support for namespaces). You can use values before
> you define them! Most syntax elements have a short form and a long form,
> where the short form is designed for single statements and the long form
> for multiline statements.

The PAR keyword doesn't in any way approximate 'OCCAM-like'
concurrency.  Concurrency in occam is built around communication
between distinct processes through explicit communication channels.
Yes, the SEQ keyword is covered by the sequential nature of Algol-68,
and the PAR keywords are roughly the same.. but that only begins to
graze the surface of what OCCAM-like concurrency actually is.

Perhaps I'm missing something, but I can't help but believe your claim
is a bit over-reaching in this particular case.  I'm not ignoring the
rest of your post, because you certainly make a number of very clear
and concise points, but as someone who works with occam-like
concurrency on a daily basis I'd like some clarification on this
point.

- Jim