OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Does WTSIWYG make simplicity moot? (was Re: [xml-dev] dtds

[ Lists Home | Date Index | Thread Index ]

On Tuesday 12 November 2002 12:22, Thomas B. Passin wrote:

> Sounds like FORTH.

The idea's the same as a FORTH immediate word, but finding a way to acheive 
that ability in a non-stack-based language was the fun part :-)

Instead of the stack, you had lexically scoped bindings. Sort of.

I based it round partial evaluation; basically, it all boiled down to a 
'meta' construct that wrapped an expression like a pair of brackets does, but 
the result of that expression:

1) Must be decidable at compile time using partial evaluation (unless you 
have an interpreter available at runtime, mind...)

2) Is treated as source code and compiled there and then to provide the 
semantics for the construct.

So at the lowest level you could write macros as functions, and use the meta 
construct thusly:

(meta (compile-state-machine `( ... state machine ...)))

The neat thing was that (like FORTH!) I could reduce the basic language down 
to something very primitive; I chose a linear continuation passing language 
with lambda, function application, and 'meta' (and a bunch of axiomatic 
functions like addition rather than implementing them in turns of Church 
numerals!) then proceeded to show how it could be extended to an OO language 
with packages and nice constructs, without extending the compiler.

A compiler for linear continuation passing is little more than an assembler, 
which means you could have a very simple language anyone can implement on 
their chosen hardware, or interpret, then drag in a load of cross-platform 
portable libraries to add all the features you expect of a real language. 
Which was nice.

> Tom P


A city is like a large, complex, rabbit
 - ARP


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS