3 ms·
Not an academic paper, but I found the Roslyn (new C# compiler) whitepaper to be an interesting window into the future of programming languages: http://www.micr
by norswap 11y ago
Not an academic paper, but I found the Roslyn (new C# compiler) whitepaper to be an interesting window into the future of programming languages: http://www.microsoft.com/en-us/download/details.aspx?id=27744 http://www.microsoft.com/en-us/download/details.aspx?id=2774...
"Tackling the Awkward Squad:
monadic input/output, concurrency, exceptions, and
foreign-language calls in Haskell" (http://research.microsoft.com/en-us/um/people/simonpj/papers/marktoberdorf/mark.pdf http://research.microsoft.com/en-us/um/people/simonpj/papers...) finally made me understand monads. Or rather, why they have such an unreasonable draw on Haskell people. tl;dr: Monads are useful to thread data (state, side effects, ...) through a computation, without modifying all your function signatures (the functions can be lifted to work with the monad). But mostly, it turns out you NEED monads (or something like it) to sequence side-effects (since Haskell is lazy).