This page is no longer maintained — Please continue to the home page at www.scala-lang.org

notes on concurrency and comprehensions

No replies
Meredith Gregory
Joined: 2008-12-17,
User offline. Last seen 42 years 45 weeks ago.
Sir and Dam Scalahads,

i've started to write down some notes on some ideas i've had about comprehensions (aka monads) and concurrency. This may be of interest to this audience because i've included a translation of the base abstraction into Scala. To prove that the abstraction supports at least a toy notion of concurrency i've also included a translation of a reflective π-calculus to it. When you compose the two translations, you get a compiler from a reflective higher-order π-calculus to Scala. Moreover, since the notion of port corresponds directly to a notion of comprehension you can target Scala's binding to RabbitMQ. At this point, it's really little more than a sketch of a spec for a compiler, but i think it still might hold interest.

Therefore, since this might be of interest to this audience, i would also welcome comments. In particular, i'm still sort of feeling my way towards the role that co-monads and co-bind plays in this semantic. i'm unhappy about an asymmetry that shows up in the semantic (can you spot it); but, i also suspect that it might be illusory as i'm coming to suspect that all useful containers are simultaneously monads and co-monads (like the empty honey pot Pooh gave Eyeore, you can put the busted balloon in the pot, then you can take it out, then you can put it in, then you can take it out...).

Best wishes,

--greg

--
L.G. Meredith
Managing Partner
Biosimilarity LLC
806 55th St NE
Seattle, WA 98105

+1 206.650.3740

http://biosimilarity.blogspot.com

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland