E2E: Whiteboard Jam Session with Brian Beckman and Greg Meredith - Monads and Coordinate Systems

Download this episode

Download Video


In this latest edition of Expert to Expert (and Going Deep), the great Brian Beckman, astrophysicist and software architect, is joined by Greg Meredith, a mathematician and computer scientist. It's just bound to be an intellectual jam session!

The idea for the format of this conversation is simple: put two geniuses together, give them each a whiteboard and some markers, and see what happens. It's much like free jazz: expert improvisation, seriously geeked-out whiteboard jamming.

The content theme for this episode--Monads as coordinate systems--is not simple. To grok this, we need to think in three dimensions: programming, physics and mathematics. But don't worry. Brian and Greg do not expect to be jamming in front of only fellow experts. This is Channel 9, after all, and there are many different levels of knowledge out there amongst our Niner population. Accordingly, you will not feel as though you're watching something in a language you don't speak. That said, you should possess interests in the theoretical, in mathematics, and in physics, and an overall appreciation for learning new things.

This is a fantastic whiteboard jam session with two very interesting, very bright, and very knowledgeable experimental theoreticians Smiley. Enjoy!

Link to Huet's Zipper paper.



Available formats for this video:

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

    More episodes in this series

    Related episodes

    The Discussion

    • User profile image
      Deactivated User

      Comment removed at user's request.

    • User profile image

      Very interesting, but I sadly lack the prerequisite knowledge to understand all of it.  I guess I will start with trying to read Huets paper.  Here's a link to the Zipper paper for others.  I see now that Greg Meredith has written about the zipper in his blog (link in the summary) as well.

    • User profile image

      So do most people, but that's what makes this type of jazz so interesting and educational (for many, it will be hard to follow along, but for many, it won't). Thanks for the link to the Zipper paper. I've added it to the post's description!


      Keep on learning,


    • User profile image

      Is this anything like creating a transform on a set [(Location Vector) * (Fule Burn Function)] on a manifold to give you a set of vectors that map to the manifold for any given Vector Location?  I made another post on Session 3 of 3, where I am trying to corelate this to Complex manifold mappings using the vector color intensity map of  Complex numbers for a given function: sin(z).  Here are com complex mapped visuals to give an example:


      Complex Manifold Color Map

      Complex Color Map of: z^3 (example)


      If I create a specialized pixel shader for your mapped function in 'z' manifold space that transforms your function asserted as a complex color map to a new set of locations for the function, would this be the same as creating a moniod or manoid that has the correct compisition?  After the pixelshader is applied to the manifold, the result set of vecotrs are given as a function transformed into a new vector locaction set.  Any point in in the complex map can be reverse trnsformed back to a Real/Imaginary pair by computing the function of RGBx => RGBy.   Am I totally off the compisition beaten path with this?

    • User profile image

      You've got some interesting thoughts, there. You're talking about complex-valued functions on the complex plane. The domain of such functions is an unbroken plane, a simple manifold, but the co-domains form very interesting shapes: manifolds in their own right, and composing such functions brings up all kinds of interesting phenomena. Your color-mapping idea is great. The link below has some variations on this idea that you might find useful:




      and the following is a good book on the analysis of complex functions:




    • User profile image

      There's nothing like Channel9 in the world, and this kind of content is rare and precious.  Thanks so much.  The thing is, the results may not be immediately apparent, because there is so much to absorb, but over time, it will yeild results.  If anything, it introduces concepts to people like me that I would never have had the chance of encountering in any other way.  So, thanks again.

    • User profile image

      Well, there needs to be part 2 to actually finish the linear lambda calculus in a form similar to P -> X, so we can use the result, to allow a monadic transformation from X -> Y for any P in the Context of M.

      I'd Jam with you on the board but then we would need another board Big Smile Because you both together is a must to keep each train of thought, until the ideas converge enough to have a formal transformation from one world to the other.

      This is great, but don't think that your competely going to outpace us, do what feels natural as long as there is backing theory in order to build from.  Don't fret about losing some as you tread forward, because multiple watchings could also help bake the thought process in ones mind enough to allow a continuation such as part 2 of the Brian Greg jam session for this formal calculus for arbatrary P.

      And to you Charles, its about time you get some E2E content out, my brain started dieing without the fruit of such brilliance you manage to capture on camera Tongue Out


    • User profile image

      Indeed. There will be many E2Es this year. Also, Brian and Greg will jam again Smiley


      Erik and I will be attending the Emerging Languages Camp this month so you can bet we'll be having a few Conversations 9 with the likes of Gilad Bracha and many more language/compiler/library geniuses. I can't wait.


      Greg will also be doing a lecture series, potentially. We are meeting on Tuesday (7/13) to figure it out. I think he's an excellent technical communicator so we should be in for a treat. Erik will be starting a new lecture series, Intro to Category Theory, as well. Man, that will rock!! More Yuri on the way. More F#. C#, too. Do you think we forgot about functional programming?


      Keep your thinking caps in close range. This year's going to be deep, my friends.



    • User profile image
      Lars Kemmann

      Definitely looking forward to Category Theory, but especially to more Algorithms & Complexity with Yuri Gurevich.  I agree with Smorg - these are THE reason I subscribe to C9 RSS!

    • User profile image

      Wow, this is great stuff.  Thanks for doing these Charles.  The upcoming stuff sounds great too.  Keep it coming!

    • User profile image

      I think this is a little much for me but i always like a new challenge.

      Nice talk. Go E2E , go ...

    • User profile image

      Very enjoyable. Glad to hear there will be more E2E coming soon, and the proposed topics sound fantastic. I'd been missing E2E a bit this year.

    • User profile image
      Lars Kemmann

      Yeah, now that the VS2010 release cycle is over we can get back to the good stuff. Smiley  (This from a very happy VS2010 user.)

    • User profile image
      Justin Bailey

      Great video - thanks for posting. I would really like to see more detailing the relationship between derivatives and the lambda-calculus. Greg even mentioned he has some code that illustrates the concept - could you post a link?


      Good stuff as always!

    • User profile image
      Justin Bailey

      Greg mentions Conor McBride and his work on derivatives of data types. Conor has a page giving the papers and history here:




    • User profile image

      Erik on Cat's! I'm in!


      As a cool aside, it will allow us to get the point of category  theory jokes


       Generic Comment Image

    • User profile image

      I'm still a little slow just getting back from holidays but is Greg saying that the Places are just generic string labels for the location types?


      If he is, then as long as the type is time friendly then the conversion from one type to another would need (position, type agnostic reference point (1 or more depending on the types needs), type required). So, given time, position and type, I can calculate the fuel burn for that type and the reverse.


      I see the refernence point as being the 0,0,0,0 of each location type to enable an semi-accurate conversion.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.