The current process of Racket2 development is something I've been through before; it is *exactly* what happened when Perl6 was announced. It might be instructive for people to dig into that process a bit and see what the methods and discussions were all about, since it ended up working pretty well. Reaching out to Larry Wall and/or Damian Conway is strongly recommended.
The way it ended up being handled was this: 1) The community was invited to submit RFPs on whatever topics they wanted. What came over the transom ranged from the trivial ("Allow $1 and /1 to mean the same thing in regexen") to the mildly important ("Perl should stay Perl, by which I mean the following things should remain constant: x,y,z..."), to the very heavyweight indeed ("continuations should become first-class values and here's how we do that"). 2) Volunteers read the RFPs and collected them into groups. 3) Larry Wall, creator of Perl and its guiding-light-but-not-dictator, digested each group in turn and then created a document called an Apocalypse (in the original biblical sense of 'revelation', not the modern sense of 'disaster' -- Larry is a quirky guy) which laid out a plan for how those RFPs would or would not make their way into the language. This document was designed for language designers and implementers and filled essentially the same role as the Racket Reference. 4) Damian Conway, one of the most brilliant Perl module creators, read the Apocalypse and worked with Larry to file off any rough spots. He then produced a document called an Exegesis that was designed to explain the Apocalypse to the general programmer. If this sounds like the Racket Guide, it was. 5) The Apocalypse and the Exegesis were released at the same time. 6) There was a lot of discussion and revision, and the final result made it into the Perl6 Design document, where it was locked and not open for further discussion. Larry had enough moral authority and brains that people would typically anchor on his design, so the discussion was about refinements and edge cases instead of fundamental details. His main contribution after the release was clarification, prevention of bikeshedding, and responding to critique. Because there was an anchor point for the discussion, things typically stayed pretty calm and didn't wind on for too long. Note that the Apocalypses were based off of the RFPs; Larry was not creating something out of whole cloth, he was using his expertise as a language designer to integrate what the community wanted and put it into a usable form. Yes, he sometimes made the decision that a particular RFP would not be accepted; those decisions were explained and there was usually very little objection -- again, because Larry had a lot of respect from the community and also because he always had damn good reasons that he was able to clearly articulate. The reasons for the creation of Perl6 were to: 1) Resolve warts in the language 2) Add significant new features 3) Make the language more appealing to the general programmer, since Perl5 was losing market share, based largely on its syntax -- people didn't like the punctuation characters in variable names.[1] If this sounds familiar...it should. The most important part of #3 was the creation of Parrot, a new runtime that would separate the interpreter from the underlying VM that executed the compiled bytecode. The goal was to allow Perl to run on top of the JVM, the default Perl VM, or any other major VM that the community decided was worth targeting. Like I said above, it might be worth it to investigate the Perl6 design process and see if there are any useful ideas and/or lessons to draw from. -------------------- [1] 98% of complaints that I've ever heard about Perl fall into one of two buckets: a. "It's so ugly and weird! It uses all those parentheses^H^H^H^H^H^H^H^H^H^H^H punctuation symbols!" b. "I can't understand macros^H^H^H^H^H^H the idea of 'context' so I don't get why '@foo = my_func()' does something different from '$foo = my_func()'" I have very little sympathy for either of these. Again, they should sound familiar. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAE8gKofzGtBVVHUryL21KkzbnrpE9umCU30E11_6oqzo3kHNUA%40mail.gmail.com.