exception monad

The purpose of the exception monad is to simulate exception handling in template metaprograms. All values are considered as monadic values to simplify the integration of compile-time exceptions into metaprograms that were originally not perpared for them, and as a result, to make compile time exception handling similar to run-time exception handling. Values with exception_tag as their tag are considered error values, while other values are considered normal results.

General information