If back compatibility with Lisp in general was not an issue, what I thought I'd do was, I'd be like this:
1. Disallow typical infix characters in typical identifiers. Instead, symbols are either entirely composed of infix characters or entirely composed of [A-Za-z_0-9]. 1.1. This means autodetect infix. Down with convoke, use *<=>* instead!! (^.^) 1.2. Since "..." is such a useful symbol in pattern-based syntax transformers, symbols composed entirely of "." are honorary non-infix symbols. LOL. (^.^)v 2. Disallow improper lists - come on! Improper lists mean that lists must always be implemented using the very specific singly-linked list data structure. - by disallowing improper lists, you allow any sequence structure to be used to implement lists: doubly-linked lists, arrays, concatenation trees, finger trees.... 3. Autodetect infix, and have multiple non-infix-symbol datums in a list around an infix symbol put into lists automatically: "foo a + b" ==> "((+) (foo a) b)" 3.1. Escape infixing by surrounding with (). So you can express (map (-) ns) to specify the need to negate each element of a list of numbers rather than subtract a list of numbers from a procedure. Or if you dislike () for that, then use {} instead. You can always just use ((+)) if you really want a single-item list containing an infix symbol. Or specify that the "real name" of an infix symbol includes {}, and the non-existence of those characters means "use infix meaning" 3.2. Precedence??? We don't need no stinkin' precedence! Use explicit parentheses if you're mixing infix operators!! 3.3. A way of turning non-infix-symbols into temporarily-infix symbols (so that data gets rearranged) would also be nice. 4. THERE WILL BE SUBLIST 4.1. And SUBLIST shall work inside explicit parentheses: "(foo $ a b)" ==> (foo (a b)) 5. Use ";" for GROUP/SUBLIST. - real programmers don't comment!!!!11111oneoneoneleveneleveneleven - use a different marker for comments. 6. Fix let. This will require 10+ more years of research, during which time David A. Wheeler will then prove that compiling a hardware synthesis tool on THREE different open-source compilers will somehow prevent all hardware backdoor attacks. 7. I forgot to mention: mandatory indentation. ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Readable-discuss mailing list Readable-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/readable-discuss