On 25 Aug 2015 at 0:41, Sam Kellett wrote:
Personally speaking I would doubt there will ever be a full fat haskell type monad in common C++ programming. The cost benefit isn't there for C++ 14 or C++ 1z as it is currently defined. There has been a big trend towards simpler, less compile time heavy library primitives in recent years, and until I am proven wrong that rules out full fat Haskell type monads in C++.
Maybe some future C++ language edition with much improved tooling might make it work, but that's a 2020s thing minimum.
i'm not sure i see where the complexity comes from.
Anyone can implement a monadic C++ programming library, and there are quite a few excellent implementations on github. The complexity comes in getting a large code base which makes extensive use of monads to compile quickly and ideally not bloat the binary and be easy to understand in the debugger. I wanted just enough monad for my needs, no more. Call it monad-lite if you want. Monad compiles very quickly indeed in debug, adds virtually no overhead to either runtime or binary size and is very easy to understand in the debugger. Those tick the boxes I was looking for. I think you have different boxes you want to tick. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/