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.
4 comments:
Hi Kevin,
Thanks for the feedback and thoughts.
We do have a Developer Center for all of Oslo, including MGrammar et al, at http://msdn.microsoft.com/en-us/oslo/default.aspx, which is our community site.
We also have a site for folks to log bugs and give suggestions on all things Oslo.
Cheers,
Michael
1. We haven't published one. I worry about people using it to add their "just one more" feature to C# and de-standardizing it. On the other hand, I want to add my one more feature to C#, too. : )
2. See #1.
3. I'd love that idea! If you build it, I'll make sure it gets love on the Oslo Developer Center (http://msdn.com/oslo).
4. See #3!
5. See #1.
6. We've certainly engineered MGrammar to build industrial strength general purpose programming languages.
7. Reusing languages is a major design goal of MGrammar.
8. I'd like to think so.
9. I don't know what that means.
10. And now my brain hurts.
11. I don't understand this -- can you give me an example?
12. MGrammar doesn't generate MSchema, although it can be used to generate MGraph.
13. We're working on it! When it goes up, it will be on the Oslo DevCenter.
14. If I had my druthers, I'd point mgrammar.com at the MGrammar Corner once we've released it.
15. There's room in the world for more than one Oslo-related community site. Go nuts!
16. I'd love to have the Mono guys implement the M specification. We've released it under the Open Specification Promise for just that reason. However, M is still gonna change quite a bit before it's released, so be careful.
17. Standard? No. But we are releasing it under the OSP so others can implement M.
18. If someone with the appropriate background wants to write such I piece, I'd happily link/host in on the Oslo DevCenter.
19. Agreed.
20. Keep asking questions. That's how we make Oslo better!
Hi,
I had plans on starting a community site for Mg on mgrammar.net.
But the thing is, that Mg is still in 3xAlpha :-)
I don't think it makes sense to already start with a community site, hence there are just a couple of people involving with it theese days. The Oslo Forum is enough for that purpose.
But, I'd love to help the community with a great website on mgrammar.net some day.
I agree that it would be interesting to see an Mg grammar for these larger languages, like C# and VB, but for educational purposes only.
I am very scared about what it would be like if the C# compiler did some sort of magic behind the scenes. Imagine if I'm a new employee at your company. I'd assume that C# was, well, C#. Not something else entirely.
I think using Mg to extend C# would be an interesting exercise technically, but dangerous if it became a standard practice.
Post a Comment