
On 27 June 2010 22:20, Edward Kmett
I've pointed out the Codensity Set monad on the Haskell channel.
I spend no time on #haskell but clearly I should :)
It is an interesting novelty, but it unfortunately has somewhat funny semantics in that the intermediate sets that you obtain are based on what you would get if you reparenthesized all of your binds and associating them to the right.
But by the monad laws this is a totally fine thing to do, so this shouldn't lead to any unfortunate behaviour in practice, I hope.
Another thing to note is that Codensity is slightly more powerful than the original type you embedded.
That is a very interesting observation. I'll be sure to look at monad-ran. Can you cast any light on the connection with NBE? It seems like a deep and powerful connection, so I'm sure it must correspond to some interesting categorical principal. All the best, Max