2008-11-25

20 questions/thoughts around MGrammar

I had a great time attending the PDC virtually. Azure, C#, Xaml—these all were cool. The tech I was most excited about was Oslo, specifically building custom DSLs with MGrammar.

Having spent a lot of time in Xaml and C# at Microsoft and migrating to a world of Ruby and JavaScript and HTML/CSS and HAML/SASS, I've had my hands in a lot of tools. And I have lots of questions and thoughts for the community. And, specifically, Chris, Don, Doug, Pinky, and the gang.

When I talk about a 'logical', I'm talking about MSchema in Oslo terminology--at least I think so.

  1. Where  is the MGrammar for C#?
  2. …for VB?
  3. …for CSV?
  4. …for VS Solution files?
  5. …for XML?
  6. Could C#/VB implement their compilers using MGrammar? Should they? Would they?
    • I’m imagining the tools I could write if I had the grammar…and could insert myself in pre-compile stage. Awesome.
    • What an amazing better-together with C#'s new compiler-as-service.
  7. There should be standardized or defacto escape mechanisms for existing grammars.
    • "If you want to inject your own magic into [C#|VB|XML|etc] use this (relatively) safe/constrained notation."
    • I'm thinking about a subset of SASS markup for WPF styles that I could in-line in XAML and have processed at build-time.
  8. Could the MGrammar for XAML just party off the MGrammar for XML?
  9. …could it be written without referring to 'physical' XML, and instead just refer to the XML MSchema model?
  10. If I had a MGrammar for HAML that could generate most of ‘logical’ XML, could I then 'infer' the 'XAML in HAML' using #9?
  11. Will there be tools to go back from a logical model (MSchema) to the input format? I'd like to store data in a logical model, but be able to allow editing via the text format.
  12. How about tools that allow the comparison of two grammars to see if they generate the same MSchema--perhaps with different labels. Perhaps with the ability to convert between them. Perhaps with the ability to identify strict sub- or super-set grammars.
  13. Where is the community site for MGrammar?
    • User-submitted grammars
    • User submitted and verified 'tests' against the grammars
    • Easy tracking of new (and old) versions
    • Easy tracking of forked/related grammars
  14. Want to have MGrammars.com? I registered it for Microsoft. I'll give it to ya'll for free. Just promise to make a great community site.
  15. I'll even build the site for you. It'll give me an excuse to use Azure. I'm happy to offer my consulting services.
  16. Any news with Mono? Is Miguel interested?
  17. Are you making a play to make MGrammar a standard? I've heard yes, but just wanted to confirm.
  18. How is the computer science behind MGrammar? Is it as good/better than existing tools? BNF? Lex/Yacc? Others? Is there a write-up? I'd love to see where MGrammar is pushing the state-of-the-art.
  19. Anyone pushing a normalized Wiki grammar? Like this? Yes, a weird point, but think of how much IQ in the world is stored in Wikipedia and it's next to impossible to parse because MediaWiki format has a bunch of random PHP parsing quirks. A great intern project.
  20. As you can tell, super excited about the project, guys. Keep it up.