
Yoann,
I have also one time read an example where you use monads while implementing the unification or type inference algorithm, perhaps in the original monad paper (the essence of functional programming).
I guess you are referring to Mark Jones' _Functional Programming with Overloading and Higher-order Polymorphism_ [1]. Cheers, Stefan http://www.cs.uu.nl/~stefan/ [1] Mark P. Jones. Functional programming with overloading and higher-order polymorphism. In Johan Jeuring and Erik Meijer, editors, Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques, Bastad, Sweden, May 24–30, 1995, Tutorial Text, volume 925 of Lecture Notes in Computer Science, pages 97–136. Springer-Verlag, 1995.