Lies, damn lies!
Thu, 27 May 1999 12:31:51 -0700
The universal Turing machine accepts as its input a description of another
Turing machine and a program, remember? Thus, in order to be universal, a
computing system has to be able to read and possibly modify the description
of an arbitrary computing system (including itself).
I hate Outlook.
Anyhow, You mentioned that Forth was the only standard universal language by
this definition. In spite of my preference for Forth, I disagree -- Scheme,
Lisp, and Python can read arbitrary code in their own language and modify
it. They don't have access to their own source code in the same way a Forth
program does, but that's not mentioned in the definition of a universal
Rebol (www.rebol.com) has full Forth-style access to its source, and it's a
syntactic language. I'm very impressed with it. In fact, I was thinking
that it might be tons of fun to write a Lojban module for it. Check it out
and think about it.
> -----Original Message-----
> From: Jecel Assumpcao Jr [SMTP:email@example.com]
> Sent: Thursday, May 27, 1999 9:31 AM
> To: Laurent Martelli
> Cc: firstname.lastname@example.org
> Subject: Re: Lies, damn lies!
> Laurent Martelli wrote:
> > Jecel> Now you got me really confused! Every explanation I have ever
> > Jecel> seen of Turing Machines have always presented them with a
> > Jecel> Harvard Architecture instead of a Von Neumann one: they store
> > Jecel> their state in an infinite tape of symbols and their code in
> > Jecel> a separate table representing a finite state machine. Only
> > Jecel> the tape can be accessed and changed, not the table.
> > Code is data, and data is code. The data on the tape can be considered
> > a source to be interpreted by the state machine.
> I admitted that, but asked how is this different from simulating a
> Z80 computer running Forth in, for example, Pascal? Faré seemed to
> be rejecting the "interpreter" definition of universality, but in
> that case a Turin Machine is no longer universal as far as I can see.
> -- Jecel