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.
- Where is the MGrammar for C#?
- …for VB?
- …for CSV?
- …for VS Solution files?
- …for XML?
- 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.
- 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.
- Could the MGrammar for XAML just party off the MGrammar for XML?
- …could it be written without referring to 'physical' XML, and instead just refer to the XML MSchema model?
- If I had a MGrammar for HAML that could generate most of ‘logical’ XML, could I then 'infer' the 'XAML in HAML' using #9?
- 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.
- 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.
- 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
- 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.
- 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.
- Any news with Mono? Is Miguel interested?
- Are you making a play to make MGrammar a standard? I've heard yes, but just wanted to confirm.
- 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.
- 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.
- As you can tell, super excited about the project, guys. Keep it up.