> 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