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
