On Mon, May 21, 2018 at 3:48 PM, bartc <b...@freeuk.com> wrote: > > This is intended to be used inside actual Python programs? > > In that case code is normally displayed in fixed pitch, as it would normally > be viewed in a code editor, even if part of a document. > > But I have to say it looks pretty terrible, and I can't see that it buys > much over normal syntax.
Ha, here we go. Last time I have used fixed pitch font for work - maybe 4 years ago. (and IMO fixed pitch font plus specifically Python - I find quite a blasphemy) So, you re right, of course in one sense: "///" looks terrible with a fixed pitch font! That's so true, but also it is true that this /// I well maybe change for something less font-sensitive. And in all fonts other than fixed pitch it looks cute enough. Simply speaking, if it was not for Python, I might propose something like: # t # t 11 22 33 You get the point? So basically all nice chars are already occupied. Proposing Unicode symbols -- that will probably will be dead on arrival (just remembering some of such past proposals). Leaving out symbols could be an option as well. Still the structure needs a syntactical entry point. E.g. data = /// t t 11 22 33 Hmm. not bad. But I must think about parsing as well. > It's not clear what ///. is for, or why it's necessary (presumably you have > to use ///. /// instead of /// ///). "///." is meant to inherit the previous (parent) type: /// t /// . /// . is same as /// t /// t /// t So I can change types of all child nodes with one keystroke. > > The ///d dictionary example is ambiguous: can you have more than one > key:value per line or not? If so, it would look like this: > > ///d "a" "b" "c" "d" "e" "f" ///d "a" "b" "c" "d" "e" "f" Now better? :-) Or compare these two: {"a": "b", "c": "d", "e": "f"} ///d "a" "b" "c" "d" "e" "f" I'd say, the second one is much better. > Or do you also allow: date = /// with data following on the next line? Yes, all this should be legal: data = /// t 11 22 33 data =\ /// t 11 22 33 data = /// t 11 22 33 But this probly not good: data = /// t 11 22 33 /// t 44 55 Because it will not be clear for the reader how further suite termination happens. -- https://mail.python.org/mailman/listinfo/python-list