Erlang + Forth?!?

Richard Carlsson richardc@REDACTED
Wed Feb 18 11:33:16 CET 2004


On Wed, 18 Feb 2004, Peter-Henry Mander wrote:

> Good Lord! I had forgotten that remarkable language!
>
> I have never used it, but over 20 years ago I pondered buying a
> Jupiter ACE instead of a Sinclair Spectrum, but was beguiled by the
> spectrum "colour" capability. Young fool! (-:

You did the right thing, I'm sure. And you could do pretty cool
things with White Lightning Forth on the Speccy, if you wanted
to use Forth.

> Has anyone heard of or remember the Jupiter ACE, made by Jupiter
> Cantab? It was the only interesting competitor of the Sinclair ZX
> Spectrum in the 1980's, and it's native language was forth, not BASIC.
> It beat the pants off the competition in terms of pure speed.

Heard of it and read about it, yes. I think I even saw one once.
I was not surprised that it wasn't a hit, though. Forth is a lot less
friendly than Basic to a beginner. And of course, the speed advantage
was only when you compared Forth - which uses, or rather is, threaded
code - to interpreted Basic. But most interesting programs were written
in assembler anyway, and I think the Speccy was the faster machine.

(On a side note, the Spectrum Basic interpreter was made for compactness
rather than speed. The source code was just stored in a tokenized form,
and the interpreter actually used the same code both for syntax checking
and for actual interpretation, with a flag that told it what mode it was
in, i.e. "report errors" or "execute". But they did manage to cram a
whole lot of functionality into that 16k Basic ROM.)

The most interesting application of Forth that I saw in those days
was in an advanced disassembler/debugger for the ZX Spectrum. (I can't
recall the name.) It allowed you to write pieces of Forth code, to
be executed upon a breakpoint. You could thus, in a very small amount
of memory and with minimal speed penalty, do arbitrarily complicated
tests to decide whether to continue or stop, or log/print information,
etc. I don't know if there exist any other debuggers with similar
functionality.

	/Richard


Richard Carlsson (richardc@REDACTED)   (This space intentionally left blank.)
E-mail: Richard.Carlsson@REDACTED	WWW: http://user.it.uu.se/~richardc/
 "Having users is like optimization: the wise course is to delay it."
   -- Paul Graham



More information about the erlang-questions mailing list