Dave Langer, an architect at Microsoft, explores the question of how to model inheritance in “M”. What do you think? What support for inheritance should "Oslo" provide? What scenarios do you need us to nail in this area? Let us know!
Imagine you’ve shipped v1 of your database applications against a schema created from “M”. Now, you’re about to ship the v2 of your database, but what about the v1 clients? Are the tables and views exposed from your database backward compatible or are you going to break those existing clients? How do you even find out?
Well, wonder no more! Telerik has shipped the alpha of their “Oslo” comparison tool, which can compare v1 of your “M” source code against v2 to see what’s changed and whether that’s going to break your v1 clients. And as if that weren’t enough, they’re working on another version of the tool that will create scripts so that you can migrate your v1 data to v2 after you’re satisfied that your v1 clients will continue to work.
Stephen Forte and Mehfuz (who, like Prince and Cher, needs no last name), have built LINQ to “M”, which means that if you’ve got “M” source code like this (shown in a C# string variable for loading convenience):
public class Person { public string Name { get; set; } public int Age { get; set; } }
then you can load the “M” source and run LINQ queries against it:
var persons = QueryContext.Instance.Load<Person>(MGraphCode); var result = from person in persons where person.Age == 37 && person.Name == "Stephen Forte" orderby person.Name ascending select person;
In part 1 and part 2 of his series, Dana Kaufman, a Program Manager on the "Oslo" team, used "M" to model the schema for employee information and to create a domain-specific language (DSL) for creating values of that schema. In part 3, Dana shows how to navigate the schema and models in "Quadrant," the data visualization and manipulation tool of "Oslo." Enjoy!
Rockford Lhotka of several C# and VB books and the world-renown CSLA .NET business object framework has ported his “Oslo”-based MCsla.NET to the May 2009 CTP. For the part that he's made work in "Oslo," Rocky has told me that the amount of code you need to write to take advantage of his framework is down by 90% over the C#/VB.NET versions, which sounds like a pretty big win to me. Enjoy!
Matthew Wilson is pushing "M" into the land of browser client-side scripting with his partial (but growing!) JavaScript implementation, as seen in his web 3-pane “M” grammar mode ala Intellipad. It's work like this that could make "M" a cross-platform solution for languages as well as data types and values. Good job, Matt!
Keith and Woody speak with the first repeat guest of the podcast, Shawn Wildermuth about Oslo and the M language. In this episode listeners will get some real world examples and use cases for using Oslo and M along with a clearer understanding about DSLs and what the future may hold.
Be warned, this podcast uses the phrase “bowled shrimp.” : )