OK, so explaining the passive aggressive style with monadic exceptions in a language that already has exceptions does not work. Back to regular exceptions in style 23. I left the monadic version as an academically interesting variation. In the process of returning to basic exceptions, I needed to clarify the tantrum style a little better too.

This commit is contained in:
Crista Lopes
2013-11-30 19:05:07 -08:00
parent 76f7ccb1d3
commit 9a9c525326
5 changed files with 122 additions and 41 deletions

View File

@@ -3,15 +3,16 @@ Style #23
Constraints:
- A sequence of functions should not proceed if preconditions aren't
met or if errors occur
- Every single procedure and function checks the sanity of its
arguments and refuses to continue when the arguments are
unreasonable, throwing an exception
- Core program functions have no exception handling, not even the main function
- When calling out other functions, core program functions don't check for errors
- The final result of the function chain should show the failure, if one occurred
- Exception handling occurs only at the top level of a function call chain
Possible names:
- Passive aggressive
- Monadic Exceptions