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 07:59, Paul Prescod wrote:

> Abstractions do not always leak. I've been using a PowerBook for several
> months, both programming and in GUI apps and not once worried about
> PowerPC assembly language. Compilera and interpreters have pretty well
> hidden that from me through abstractions. The problem is that code
> generators do a poor job of abstracting. A code-generator is typically a
> workaround for not having implemented the right level of abstraction in
> your library or language.

Drifting off topic, I once designed a mechanism for avoiding having to run 
code generators which was based around a Cunning Trick to allow a language to 
be its own macro language, with willy-nilly sharing of contexts between 
compile time and run time (which is useful because you can define a function 
in a library then use it both at compile time and run time)... which lets you 
create 'macros' that perform arbitrary 'compilation' to generate the actual 
code the compiler compiles.

A nice example was a macro that added the ability to use state machines as a 
control flow construct. You could write (from memory):

(define (string-repeat str times)
  (car (state-machine (result: "" timesleft: times)
        (if (> timesleft 0)
            (goto start result: (strcat result str)
                        timesleft: (- timesleft 1))
            (goto finish)))))

...and it would be compiled into an arbitrary nest of ifs and recursions and 
whatnot, which for more complex state machines is a real mess compared to the 
abstraction state transition notation.

>   Paul Prescod


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