On Feb 15, 2008 11:07 AM,  <[EMAIL PROTECTED]> wrote:
> On Thu, Feb 14, 2008 at 10:44:11PM -0800, Christoph Maier wrote:
> > Anyway, if you program something successfully, you can be reasonably
> > sure that you have formulated the problem completely, without any
> > face-saving handwaving.
>
> It is for historical reasons that mathematical notation was developed
> before computer science languages.  Here's a thought....I don't see
> why they couldn't potentially be unified.  Why do we necessarily need
> one syntax for math books and one for software?
>
> This is somewhat like what happened with XML.  It is an (arguably) human
> readable markup format that is also machine readable.
>
> Imagine if a similar universal notation existed for math speak.  Then you
> could machine verify all the equations in math books! yay!
>
> Chris

Take a look at SETL.
http://cs.nyu.edu/~bacon/setl-doc.html
http://en.wikipedia.org/wiki/SETL

I once corresponded with one of the SETL guys at NYU
back in the late 70's. The subject was FORTH. He was
rather dismissive. "FORTH is just a macro-assembler
for a two-stack machine."

Actually that is a pretty good description of
FORTH. Not an obect to dimiss lightly though.

One stack in FORTH is used for computation,
e.g. 1 2 + -> 3 is Reverse Polish for what goes
on the computation stack.

The other stack is used to save return addresses
for subroutine calls. A subroutine is essentially
a definer of context.

One can move the results of computations between
the stacks so having two stacks is quite a flexible
system.

A two stack machine is a powerful pushdown autonoma
and in Chomsky's heirarchy can parse context-sensitve
languages. I consider myself a complete non-expert on
these issues and would love to see a discussion of
all of this by others, especially if it could be put
in simple language with a few examples.

So a FORTH machine has non-trivial powers.
For the best discussion I have found of this see
http://www.staff.ncl.ac.uk/hermann.moisl/ell236/manual1.htm

Another fact is that the core virtual machine, this
two stack automata is so simple that FORTH was often
(and still may be, I am not current) the first language
broght up on new hardware. For a long time all Sun
computers had a FORTH lying inside. Maybe they still do.
I do not know.  See
http://playground.sun.com/1275/home.html

This by Mitch Bradley who developed FORTH for Sun.

"Probably the most prolific single purveyor of embedded Forths is Sun
Microsystems, whose SPARC workstations all use a programmable
Forth-based monitor called Open Boot, developed by Mitch Bradley and
associates. Bradley believes [Bradley, 1991] that Forth was successful
for this purpose because it offered:

    * a CPU-independent "virtual machine" to use for the byte-coded
portable drivers;
    * a debugging environment for those drivers;
    * an interactive command language, with complete programming
language capability, that was useful for hardware startup and
debugging;
    * a built-in debugging environment for the firmware itself
(firmware is otherwise rather painful to debug);
    * a debugging environment for the operating system software;
    * extensibility, allowing easy support of new hardware
requirements and features; and
    * great flexibility in tuning the implementation for speed/space tradeoffs.

"

Enough, if not too much.

BobLQ




BobLQ

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to