[Doc-SIG] Monty: A structured text syntax idea

François Pinard pinard at iro.umontreal.ca
Mon Feb 7 17:03:14 EST 2000


sharris at nospam.primus.com (Steven E. Harris) writes:

> I have a similar translator (Emacs Outline to and XML vocabulary)
> written in Perl.  I can share it if you're interested.

Strange coincidence...  I did a small overhaul in `recode' internals,
yesterday, to make room for "structural surfaces", besides "data surfaces".
Here is a related fragment from the documentation.

---------------------------------------------------------------------->
@cindex structural surfaces
@cindex surfaces, structural
@cindex surfaces, trees
The @code{recode} library distinguishes between mere data surfaces, and
structural surfaces, also called tree surfaces for short.  Structural
surfaces might allow, in the long run, transformations between a few
specialised representations of structural information like MIME parts,
Perl or Python initialisers, LISP S-expressions, XML, Emacs outlines, etc.

We are still experimenting with surfaces in @code{recode}.  The concept opens
the doors to many avenues; it is not clear yet which ones are worth pursuing,
and which should be abandoned.  In particular, implementation of structural
surfaces is barely starting, there is not even a commitment that tree
surfaces will stay in @code{recode}, if they do prove to be more cumbersome
than useful.  This chapter presents all surfaces currently available.
----------------------------------------------------------------------<

So, yes.  I'm interested!  Not necessarily in the code, but at least in the
ideas conveyed in that code.  If easy for you, please send me directly at
`pinard at iro.umontreal.ca'.

I quite like `allout' mode in Emacs (which gives cleaner outlines), and
once wrote `allout' to Texinfo converters, and vice-versa.  I also have
written converters for SGML to Scheme internal, SGML to Perl internal,
as well as SGML to Python internal, and vice-versa for specialised cases.

The idea behind structural surfaces is to use a common holder (`recode')
in which I could pour and mold such tools.  One might consider it adds
too much of magic to `recode' as a text recoder, but why not!  I much like
the magic which sometimes pops out of ImageMagick, when I handle images :-).

-- 
François Pinard   http://www.iro.umontreal.ca/~pinard






More information about the Python-list mailing list