Don Box, Paul Vick and Chris Anderson: Introducing M

Play Don Box, Paul Vick and Chris Anderson: Introducing M
Sign in to queue


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:



Download this episode

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. 


Add Your 2 Cents