Re: sweet-expressions are not homoiconic
John David Stone 23 May 2013 16:32 UTC
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John Cowan writes:
> John David Stone scripsit:
>
> > From the beginning, there was an obvious impediment to the use of
> > sweet-expressions: Readers who are accustomed to alphabetic writing
> > systems in which whitespace is almost invariably used as a word
> > separator, a paragraph separator, a decorative typographical element,
> > or for page layout simply don't respond psychologically to whitespace
> > characters as they do to visible characters such as parentheses.
>
> Ifthatwerereallytruewedstillallbewritinginscriptiocontin
> ualikethiswherelinesarebrokenanywhereatall.
Well, it did take a considerable time (measured in generations) for
the use of whitespace as a word separator to become standard. But there
was an obvious motivating advantage in that case: separated-word texts are
significantly less ambiguous. No such advantage accrues to
sweet-expressions.
> > Whitespace characters don't look like grouping symbols, as
> > parentheses, brackets, braces, or oriented quotation marks do, because
> > they don't have appropriate shapes and don't come in pairs. Moreover,
> > they don't visibly nest, so it is unnatural to use them to represent
> > recursively defined syntactic structures.
>
> Au contraire. It is so natural than even suits use nested indentation
> to show hierarchy in their PowerPoints.
Yes, and we see how well that works out when the hierarchies are as
deeply nested as those in LISP-like languages are.
The other common case of the use of indentation to indicate
grouping is legislative bills, which I would hesitate to cite as exemplars
of readability and homoiconicity.
It's not a persuasive argument to say that Scheme programs could be
made just as readable as Congressional legislation and the wordier kinds of
PowerPoint slides.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.9 <http://mailcrypt.sourceforge.net/>
iEUEARECAAYFAlGeRKAACgkQbBGsCPR0ElQuQACgnggV4ukve4K3r0RFKN13ZVq5
w0YAl1jjyLJ8fVwF4RaeC/4sR3eXt0g=
=k+C9
-----END PGP SIGNATURE-----