E2E: Whiteboard Jam Session with Brian Beckman and Greg Meredith  Monads and Coordinate Systems
Download this episode
Description
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 geekedout whiteboard jamming.
The content theme for this episodeMonads as coordinate systemsis 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 . Enjoy!
Link to Huet's Zipper paper.
Share
Format
Available formats for this video:
Actual format may change based on video formats available and browser capability.
More episodes in this series
Andrew Nurse: Inside "Razor"
Related episodes
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 1 of 13
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 2 of 13
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals, Chapter 3 of 13
C9 Lectures: Dr. Don Syme  Introduction to F#, 1 of 3
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 4 of 13
Brian Beckman: The Zen of Stateless State  The State Monad  Part 1
C9 Lectures: Dr. Don Syme  Introduction to F#, 2 of 3
The Lambda Calculus, General Term Rewriting and Food Nutrition
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 6 of 13
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 7 of 13
The Discussion

Comment removed at user's request.

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.

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,
C 
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 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?

You've got some interesting thoughts, there. You're talking about complexvalued functions on the complex plane. The domain of such functions is an unbroken plane, a simple manifold, but the codomains form very interesting shapes: manifolds in their own right, and composing such functions brings up all kinds of interesting phenomena. Your colormapping idea is great. The link below has some variations on this idea that you might find useful:
http://www.kfunigraz.ac.at/imawww/vqm/pages/complex/index.html
and the following is a good book on the analysis of complex functions:

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.

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 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

Indeed. There will be many E2Es this year. Also, Brian and Greg will jam again
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.
C

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!

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

I think this is a little much for me but i always like a new challenge.
Nice talk. Go E2E , go ...

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.

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

Great video  thanks for posting. I would really like to see more detailing the relationship between derivatives and the lambdacalculus. Greg even mentioned he has some code that illustrates the concept  could you post a link?
Good stuff as always!

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

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 semiaccurate 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.