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

Re: sweet-expressions are not homoiconic

Hash: SHA1

        John Cowan writes:

 > If newline as a statement terminator counts as syntactically significant
 > whitespace, then there are a lot bigger guns than Icon that have it,
 > starting with Fortran, Cobol, and Basic, and going on to every command
 > language ever created.

        I'd put them in a slightly different class.  They were created in
the era of punched cards (FORTRAN, COBOL) or line editors (BASIC) and so
treat the line as a natural unit.  Through much of that era, there was no
such thing as a newline character; I can recall writing FORTRAN programs in
which each output line began with a format signal, directing the printer to
stay on the same line, advance one line, advance two lines, or skip to the
top of the next page.

 > To bracket such languages with identation
 > sensitive ones is to trivialize the concept.

        I wouldn't have mentioned it at all if Wheeler hadn't used Icon as
an example in support of his argument.

 > If you're worried about it, make sure all continued lines end in _,
 > that's all.

        Sigh.  Yes, of course -- a marker character.  And in FORTRAN you
can always put a C or an asterisk in column 6 of the next line.  These are
evidences of _failure to achieve homoiconicity_.  They are design kludges,
used to paper over the incompatibility between whitespace used for layout
and whitespace used to signal syntactic structure.

Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.9 <http://mailcrypt.sourceforge.net/>