Trackhost: Erik Meijer, Microsoft
![Trackhost: Erik Meijer](/jaoo2006/file?path=/2006/photos/speakers_photo/erik_meijer.jpg)
Trackhost: Erik Meijer, Microsoft![]() |
Presentation: "Introduction: Abstractions for Concurrency"
Track:
Abstractions for Concurrency
Time: Monday 10:15 - 10:45 Location: SAS Suecia
Abstract:
The Cw research language provides C# programmers a more pleasant world of concurrent programming. It provides a simple, declarative, and powerful model of concurrency - Join Patterns - that are applicable to both multi threaded applications and to the orchestration of asynchronous, event-based distributed applications. Recently, join patterns have been liberated from the constraints of being tightly integrated in a programming language and made available as a library. The library is efficient and has a very simple API surface. The join library is language neutral, so the power of join patterns is now accessible to Visual Basic, and other .NET languages. Whereas in Cw join patterns were tied to class declarations, the library's join patterns are dynamic, and hence support solutions difficult to express with the static join patterns of Cw. Presentation: "Panel: Abstractions for Concurrency"
Track:
Abstractions for Concurrency
Time: Monday 17:00 - 17:45 Location: SAS Suecia Presentation: "Functional Programming And Monads"
Track:
Back to the Future
Time: Wednesday 11:00 - 12:00 Location: Conference Hall
Abstract:
Monads are one of the least understood features of functional programming. This is a real pity because monads are a beautiful combination of solid theory and useful practice. However, this split personality is also the root cause of the confusion that monads cause to practitioners. On the one hand, we can take a theoretical approach to monads, namely that
This results in the superstition that monads are something exceptional beyond the comprehension of normal human beings. Conversely, we can take an applied view of monads, namely that
This latter approach allows us to deal with arbitrary side-effects in an otherwise purely functional language and eliminate the impedance mismatch between various data models by focusing on similarities rather than on differences between the various data models. In this talk we will focus on the practical side of monads and show how they surface in a functional language like Haskell and in object-oriented languages such as Visual Basic and C#. |
![]() |
||