> I split up the sweet-expression description so that there are 2 main rules, 
> followed by a list of "refinements".

Appended below is my stab at the sweet expressions section.

I've separated out the tutorial from the spec. I would like for
tutorial forms of the problem and solution to go right on the
top-level page at http://readable.sourceforge.net. The reader should
be able to read that one page above the fold and have a clear sense of
how 90% of expressions are transformed.

Even in the spec, keep each bullet as short as possible. There's
already a rational page, so skip "this lets you" clauses. It's just a
spec of the solution. (Short rationales in the front-page
tutorial/blurb are a good idea, but they shouldn't take up full
sentences.)

We have several options of names and phrases we could use:
  indentation sensitivity
  whitespace sensitivity
  paren insertion (from wart)
  deducing parentheses
  parameters of
  grouped with/together

We should use as few of these as consistently as possible. I don't
like the phrase "making indentation meaningful". Can we use a
different phrase that we can then keep reusing in the bullets
themselves? That would be far more clear.

I organized the details slightly differently from you. The main rules
should cover all common cases, and it seemed like empty lines are
fairly common. Details might also nail down something so obvious that
the question rarely arises. In wart I didn't even bother to say that
indent of comment lines doesn't matter.

I also tended to move to details what I still don't understand. If an
expression starts out indented, are later, more indented lines grouped
with it? My interpretation was no, but I wasn't sure.

A leading 'group' is removed but its child indented lines are still
grouped together. That still isn't clear from the description.

Where you say "see the mailing list", can you link to a single post?

Now that I've started playing with the text myself, my value to this
group will start to drop for giving feedback as an outsider :)

== Tutorial
- An indented line is a parameter of its parent.
- Later terms on a line are parameters of the first term.
- A line with exactly one datum and no child lines is simply that datum.
- Empty lines end the previous expression. At the prompt type ENTER ENTER to
  execute what you've typed.


== Spec
*Sweet expressions*: Includes modern-expressions, and reduces the number of
parentheses by making indentation meaningful. Rules:
- An indented line is a parameter of its parent.- Later terms on a
line are parameters of the first term.
- A line with exactly one datum and no child lines is simply that item.
- Empty lines, containing only tabs and spaces, end the previous expression;
  otherwise empty lines are ignored.
- A leading quote or unquote operator followed by whitespace is applied to
  the following expression.

Details:
- Lines with only a ;-comment are completely ignored - even their
  indentation (if any) is irrelevant.
- A leading symbol "group" is quietly removed. [XXX: link to discussion]
- For backwards compatibility, an expression that starts indented
doesn't  take parameters from later lines. We recommend that editors
highlight
  these lines as warnings. [XXX: link to discussion]

Indentation is disabled inside ( ), [ ], and { }, prefixed or not (so you're
back to just modern-expressions).
==eof

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to