Related articles |
---|
Languages From Hell -- Jolt (aka A.) mark@omnifest.uwm.edu (Mark Hopkins) (1994-10-12) |
Re: Languages From Hell -- Jolt (aka A.) hbaker@netcom.com (1994-10-14) |
Newsgroups: | comp.compilers |
From: | hbaker@netcom.com (Henry G. Baker) |
Keywords: | design |
Organization: | nil |
References: | 94-10-096 |
Date: | Fri, 14 Oct 1994 15:19:07 GMT |
"Mark Hopkins" <mark@omnifest.uwm.edu> writes:
> Anyway... it all started back in 1987 I read an article by Backus
^^^^
Wasn't this written in the 1970's?
> JOLT is a purely functional language which provides a front-end for the
>Infinite Lambda Calculus. Its syntax is Imperative and includes the
>while loop, goto statement and assignment statement. Yet, all of this is
>syntatic sugaring for the Lambda Calculus. Their respective behaviors,
>though consistent with the behavior of imperative languages, are only
>epiphenomena arising from the interpretation of the Lambda Calculus itself.
>
> JOLT is thus simultaneously a language with variables and an assignment
>statement, and is declarative. Side-effects are purely epiphenomenal.
>Even though it has gotos, it has no control structures, again, except as
>epiphenomena.
>
> Among other things one of its features is that every sequence of statements
>ends in an evaluation of an expression (which is defined to be the sequence's
>value) and that a goto label takes on the value of the sequence it labels.
>Everything is an expression, and "statements" are
>just expressions with holes in them. When the "statement" is evaluated, the
>hole is given the value of the sequence following the "statement". Some
>places will make use of expressions with holes in them.
> From another point of view, what distinguishes this language is that it
>consists entirely of gotos. As you can see above, the while loop is just
>a syntatic sugaring for an expression containing gotos. JOLT is so
>unstructured at its most basic level that even assembly language looks like a
>high-level programming language next to it.
>
> Being functional and imperative A. is pretty much everything you want and
>-- even better -- pretty much everything you don't want, too. It even has
>the lambda operator in it. It was purposely designed to aggrivate people and
>to aggrivate the purist community by sticking a thorn in their side in the
>form of a language looking like their worst nightmare and yet behaving like
>their most erotic dreams. Its design started out as a practical joke, and
>it's with pride that I state here that A has retained a large portion of its
>legacy.
I hate to rain on your parade, but it looks like you've just rediscovered
Carl Hewitt's Actors, from the early 1970's.
Probably the easiest early article about Actors to obtain is this one:
Hewitt, C., and Smith., B. "Towards a Programming Apprentice". IEEE
Trans. Software Engineering SE-1,1 (Mar 1975), 26-45.
(Yes, I know that this is an obscure title for this material, but it
really does cover some of the same ground.)
Henry Baker
Read ftp.netcom.com:/pub/hbaker/README for info on ftp-able papers.
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.