
25 Jun
2007
25 Jun
'07
5:10 p.m.
I wrote:
If you want to stick to monads, there is another possibility: carry around the necessary checks *at the type level*. Below is a sketch of how you could do this.
Importantly, the given code still requires you to specify the checks "by hand", when running the action; it only checks that you didn't forget a necessary check. Perhaps someone can improve this, so it derives the necessary checks automatically? Greetings, Arie