On 2/18/13, David A. Wheeler <dwhee...@dwheeler.com> wrote:
> So while I appreciate your efforts to make concrete exactly what ENLIST
> would
> entail, I'm becoming convinced that we should definitely *NOT* add any form
> of
> ENLIST to the sweet-expression notation.   The line-ending one is too
> limited, and
> the magic-column version depends on assumptions that we KNOW are widely
> false.
> Forcing to ASCII-only doesn't deal with variable-width types and is absurd
> since
> not everyone uses English for everything.
> In general, depending on really knowing the widths of different characters
> is just
> absurd in an internationalized world.  And even after all that, neither
> interpretation
> has the strength of strong use cases that just can't be reasonably done
> another way.
>
> If anyone has a strong counter-argument, I'd certainly like to hear it
> ASAP.
> What I want to see is a load of use cases that are really important and
> really hard to do otherwise... so much that false assumptions are acceptable
> :-).

Well, it's very easy to describe ENLIST informally:

1.  The ":" marker, called ENLIST, marks a new "indent level" without
requiring a separate line.  This basically means that you can consider
":" as a newline, followed by an indentation to that position.

And with ENLIST, you get most of what you want for GROUP and a good
portion of SUBLIST - it's just that our current GROUP is GROUP/SPLIT
and SUBLIST's greedy nature is the source of much of its power (for
good or ill).

The problems with ENLIST only arise when ENLIST semantics are looked
at more deeply, and largely only for international code.

One could argue that using non-ASCII characters for code elements
(variable names, function names, etc.) is bad style, every programmer
should have access to fixed-width fonts (otherwise we are revoking
your geek license), and international strings should be implemented
using GNU gettext, the way god intended international text to be
implemented.  This means that programming in a strict ASCII-only style
with fixed-width fonts is probably fine, until you want international
text without fooling around with the GNU gettext mark of the beast
_(), someone *else* (like your boss) forcibly revokes your geek
license and prevents you from using fixed-width fonts, and if you're
being a jerk about your PhD dissertation and write all your variable
names as single greek letters in UTF-8, just to make your paper more
interesting ("&Gamma; is a mapping between symbols and their types,
which in our text we will call the 'type-environment'").


We *could* argue that for 90% of the code you'd want to write, the
ASCII-only restriction is not a big problem, and for 90% of the
environments you'd want to program in, having a fixed-width font is a
given.  Then we could say that for international text, you can't have
":" after any international parts (not portably, anyway).  We lose
some code density (due to loss of SPLIT and SUBLIST) and the ability
to read code meaningfully when presented in a variable-width font, but
gain a very simple (informally) semantic, which is (relatively) easy
for the uninitiated to grasp.

>
> I really do want to hear all ideas, but I think we've delved so deeply into
> this idea
> that at least one Balrog has shown up. Lacking Gandalf's flame of Anor, I'm
> planning on
> running to Moria's exit :-).

Dunno 'bout you, but I hear the Mule has taken over the Foundation and
we'd better look for the second one.

--

As an aside, I have no idea how right-to-left text works in Unicode
(arabic text, I think hebrew text too).  I do know there are
"direction changed" code points in Unicode.  So, more complexity in
order to keep track of "real characters".  And then there's text
normalization, where multiple code points should end up being treated
as single characters semantically....

>
>
> --- David A. Wheeler
>
> ------------------------------------------------------------------------------
> The Go Parallel Website, sponsored by Intel - in partnership with Geeknet,
> is your hub for all things parallel software development, from weekly
> thought
> leadership blogs to news, videos, case studies, tutorials, tech docs,
> whitepapers, evaluation guides, and opinion stories. Check out the most
> recent posts - join the conversation now.
> http://goparallel.sourceforge.net/
> _______________________________________________
> Readable-discuss mailing list
> Readable-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/readable-discuss
>

------------------------------------------------------------------------------
The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, 
is your hub for all things parallel software development, from weekly thought 
leadership blogs to news, videos, case studies, tutorials, tech docs, 
whitepapers, evaluation guides, and opinion stories. Check out the most 
recent posts - join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to