Don Box, Paul Vick and Chris Anderson: Introducing M

Download this episode

Download Video


Don Box, Chris Anderson and Paul Vick dig into their new programming language (well, it's a data modeling language that you use to create DSLs to express your data as opposed to a general purpose language...). What is M, exactly? What does it do? What can it do? To answer these questions, Don, Chris and Paul create a Channel 9 language to express Channel 9 video data. Now that's a great idea! Smiley Tune in, learn the thinking behind M and how to build data grammars with it. It's a very interesting way to program data.

See Don's PDC 2008 session here:



Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image

      Sounds interesting.  Is there a link yet to the ctp bits of M?

    • User profile image
      You can find what you need to get started here:

    • User profile image
      oh dear, yet another yacc...

      what kind of grammars does it support. what kind of parsers does it generate?
    • User profile image
      Don Box

      The underlying parsing runtime uses GLR (Generalized LR).

      The M grammar compiler produces structured data that drive that runtime.

    • User profile image
      Two questions:

      1) How long before M can crank out something that's a first-class citizen in Visual Studio? You know, w/ debugging, design-time stuff...

      2) I think a perfect DSL is a scripting language, say... for a game. "Mario follows bad guy # 3" kinda thing.... Do I get M as a free product if I buy Oslo?
    • User profile image

      I always screw-up that reply thing...  Should be:  @Don Box:

      Might have a problem with the name.

      Although in lesser use now, 'M' is still an ISO-Standard language: ANSI X11.1-1995 and ISO/IEC 11756:1999

      It is still sold & supported (under various disguises) by Intersystems:

      It's one of the earliest dynamic type languages, and although a bit clunky by today's standards, still has some features that modern languages struggle to match.

      I recall doing a bunch of work in this (and the earlier MUMPS variants) way back when.

    • User profile image
      Don Box

      On the first point, we plan to fully integrate M into VS before we ship. 

      On the second point, the Oslo SDK (which is how you get M) is a free download. 


    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.