
Seth Gordon wrote:
I finally (think I) understand monads well enough to make one up: ... Is it even possible to have a type like this that still observes the monad rules? Is this the sort of thing that I need to understand arrows to pull off?
I think the monads people have given you will work. I even think the monadic formulation helps, in allowing you to calculate derived data while keeping the results classified as well. If you want some fancier information flow policies (falling back to arrows), check out "Encoding Information Flow in Haskell": /www.cis.upenn.edu/~stevez/papers/LZ06a.pdf/ (by Steve Zdancewic and Peng Li, also authors of "A Language-based Approach to Unifying Events and Threads http://www.cis.upenn.edu/%7Estevez/papers/LZ06b.pdf") Brandon