Loading ...
Sorry, an error occurred while loading the content.

Coordination, composition, and coupling: Polyphonic C#

Expand Messages
  • Jeff Bone
    Not immediately REST-related, but tangentially interesting... ... Anybody looked at Polyphonic C#? http://research.microsoft.com/~nick/polyphony/intro.htm
    Message 1 of 1 , Oct 28, 2003
    • 0 Attachment
      Not immediately REST-related, but tangentially interesting...

      ---


      Anybody looked at Polyphonic C#?

      http://research.microsoft.com/~nick/polyphony/intro.htm
      http://research.microsoft.com/~nick/polyphony/polyphonytoplas-PDF.pdf
      http://research.microsoft.com/~nick/polyphony/santa.pdf

      Luca Cardelli and friends are plowing some fertile ground yet again.
      My initial reaction: this (the idea of chords and declarative
      coordination / orchestration through method signatures) is perhaps the
      most significantly innovative thinking about the coordination problem
      since Gelernter's Linda. (Granted, Polyphonic C# is a re-hash of some
      thoughts that have been showing up in theory-land (the join-calculus
      offshoot of Milner's pi-calculus) and in language-land (some offshoots
      of O'Caml) but this simplifies, unifies, and brings this to real-world
      programmers.

      But I'm concerned about it. While it does tackle the coordination /
      orchestration problem, it does so within the traditional framework of
      type-specific interfaces / OOP. I'm worried that this might
      significantly increase coupling and impede composition. It seems to
      move counter to the nuevo-retro feel of e.g. REST and the newish
      emphasis on generic interfaces, composibility, and "wide" values.) In
      contrast, the pi-calculus lays groundwork for solving the coordination
      problem while keeping coupling dynamic (potentially run-time
      configurable) and while explicitly emphasizing composition. Linda, in
      contrast, didn't have much to say about orchestration per se (states
      are implicitly captured in the history-driven use of the Linda
      sublanguage) but made decoupling in both time and space paramount.

      I'm conflicted on this. It sure does look new, neat, and useful. But
      I'm worried that it takes a fundamentally broken model and hides the
      warts under a sexy new veneer --- tackling one rather smallish problem
      while actually exacerbating several other existing problems.

      Extending this idea to the Web would seem to me to be pushing down that
      nasty SOAP-RPC road.

      Maybe there's a way to capture this kind of declarative
      interface-driven orchestration in something like Mark's RDF-Forms.

      Just musing out loud...

      jb

      PS - mention of something called "Web combinators" in the refs in one
      of those. Anybody here w/ first-hand info on this? I can chase links,
      but a paragraph summary of the above would be useful. My guess is that
      it's nasty type-specific adaptoid stuff, no?
    Your message has been successfully submitted and would be delivered to recipients shortly.