[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Questions for a language designer



> The user would be free to use the concrete representation of his
> choice to edit the program but it would be saved in its abstract
> representation.  The program that would translate from abstract to
> concrete would be an highly configurable "unparser".  Using a
> correctly choosen abstract representation would make programs more
> future proof because a future unparser will be able to identify 
> patterns
> and unparse them distinctively.

Once upon a time it occurred to me that it would be merciful to allow a 
language's identifiers to be translated into various (natural) 
languages; I've always felt kind of sorry that so much of the world 
writes these bizarre, bilingual programs. An Indian friend told me that 
such a tool exists in India, a programming language whose keywords 
could be translated into a few dozen different Indian languages.

Have you looked at Source Code In Database (SCID)? It's a bit messianic 
in tone, but interesting.

     http://mindprod.com/scid.html

You might also be interested in some of the things PLT has done with 
embedding non-text objects in Scheme source files. You can insert 
things like pictures and (I think) XML data inside a source file, and 
there's been recent discussion of a GUI builder where you can embed 
graphical representations of GUI elements in the source. I imagine you 
could ask Matthew Flatt for more info about that.

     http://www.cs.utah.edu/~mflatt/tmp/guibuilder.jpg

One more reference that springs to mind is a paper by Simon 
Peyton-Jones et al about improving on Microsoft Excel as a functional 
programming language.

     http://research.microsoft.com/Users/simonpj/papers/excel/index.htm

It seems like people often disparage syntax as insignificant, but maybe 
it's better framed as an HCI issue? In that sense it's orthogonal to 
semantics (well, duh), but not unimportant, especially since syntax is 
the part that human programmers interact most directly with.

Cheers,
Dave