Monday, 6 October 2008

For our shared enterprise

When I am working on theories of conversations, what strikes me is not the fact new ideas just continue to come out (though it is true: out of me, out of my colleagues, out of many people, --- I note this is not birth without pains, all birth is with pain, here we need constancy in a series of births, that is the technology I am learning now) nor the fact that they are deeply based on theories of types for functions though with new effects and new forms (and again this is true: and I wonder if it is the case that it is only when one needs to face concurrency in earnest that types become so essential that nobody can ignore them, they become central to computing, even if its significant portion was developed by those people who love these strange animals called higher-order functions which may look somewhat Ecclesiastical to some --- but even in C we can use typed higher-order functions which is indeed very useful in practice).

What really strikes me is the fact that these ideas come out as if they are predestined --- as if these notions exist from the first, buried here and there to be discovered, and we are just doing a work of discovering. If I am permitted to "draw water into one's fields" (this is a Japanese idiom to excuse a positive remark about oneself, which is regarded in Japan a bad thing, in a way similar but subtly different way in Britain) they are born in perfection (though with some pain!), like Pallas Athena was born perfectly clad (or armoured?), they come out as if what we are doing is nothing: I am being used: this was out there from the first.

Of course this does not contradict the significance of a philosophical general grasp of what a conversation is and what it can be --- which is very human after all --- my dialogue with many academic and industry colleagues, --- for academic especially colleagues those I interacted with on session types, including Vasco, Kaku-kun, Kubo-kun, Mariangiola (my respect to her for her genuineness towards our profession and subjects, that purity in interest which can encourage people's best part), Marco, Dimitris, Ray, Andi, Nobuko, and many others, --- and industry interactions, especially earnest, concrete ways Steve and Gary work with so-called business protocols --- how enriching they are in the end! --- and prompted by visceral and yet deep grasp of distributed computation by Matthew Rawlings as well as his many examples, some strange (like the birthday present protocol and its variations) some quite business-oriented --- prompted me to think about this notion from the depth. From the real depth.

I am being driven. And this seems not solely because of the desire to communicate good findings to our colleagues --- which is by the way surely an honourable motivation and is further a socially useful one. It looks it pertains to another desire, more modest and hidden, a desire to understand this virgin territory, to explore this new terrain, --- that attracts me, since this realm, it is being born like Pallas Athena, is so rich in what it can give us, and it also seems to extend to a vast hinterland not known even vaguely now, though my modest talent prevents me from spelling full details of what may be out there.

My colleagues and I reached initial theories of session types without knowing the key philosophy --- the simplest philosophical observation --- what a session or conversation is, what it can be. But it also looks I knew about it --- since if not we could not have arrived at that shape (I know: the answer is that it is simply practicality that let me settle on there together with the depth of interactional computation distilled in the shape of name passing, that small but greatest calculus: and of course both of them --- this practicality, this name passing --- are still most mysterious). And I also know it is the recent dialogues with my colleagues which equipped me with what I believe to be key insights on session types and conversations. Without these dialogues nothing could have proceeded. Why did these dialogues come about? What made them possible? What brought Gary here, what brought Steve to CDL, what brought Matthew Rawlings to chair a crucial working group of an international standard organisation in this starting point of 21st century? Why Gregor Horpe had this inception that this is something worth calling with a good name? And why at this point at Microsoft they started this operating system project and how can they be so idealistic and moreover start to include even local branching/selection which is the core of session type discipline? And Cedric Fournet, one of the strongest process theorists, why did he get interested in session types? And what brought David Frankel, careful and knowledgeable, to think that some simple and basic change in a popular UML diagram may be possible, at least casually suggesting it?

We are here. And we are seeing something interesting ahead of us. Extremely interesting. We want to see it closely, catch it in our hands, taste it, marvel it from all different angles, come to know it deeply. We are such animals. It is in our DNA. It is worth exploring.

So let's explore. Let's join our forces for this exploration. And make computing more powerful (and yes faster, even faster for a given energy), more exquisite, more stream-lined, more clearly articulated, much much more dynamic (but controllable! if not how can we make it dynamic?), more powerfully and clearly and succinctly and as needed rigorously scribbable, freely moving from high-level sketch with a quick thick brush for hugeness of distributed systems to very fine drawings of individual parts, like drawing a large painting or creating a huge sculpture, it will be kinder to the earth, kinder to us, but can yield a great power if you master it --- "something rich and strange" --- it awaits us. The land is here. Let's work together.