Using Haskell to begin attempting to create a new Boolean-like class called Ternary.
NOTE: Currently in development, I will continue to add to it but I want to document the changes I make.
Conceptually speaking, imagine if instead of only True and False you could work with True, False and Unknown. Haskells purely functional programming paradigm is perfect for this. Its typeclass capabilities allow us to create algebraically equivalent typeclasses to such a formal system.
Practically, when we go to make decisions whether they be for our personal life or for a business setting, we don't have enough information to form a proper decision on that issue. So we use the Undetermined operator to symbolically represent that.
I will continue to develop this and see where it goes. I don't have any particular applications in mind. I'm just developing it purely out of curiosity, but I'm sure one can be found somewhere.
I would like to give special thanks to Dr H T Mouftah, Jeff Connelly and Dr Douglas W Jones of the University of Iowa Department of Computer Science, as their freely available research and websites were of invaluable assistance in my developing my own understanding of the topic. Also a special thanks to Maria P from Revature, who taught me all of the foundations of functional programming that have been infinitely helpful.
SOURCES:
Dr H.T. Mouftah, Department of Electrical Engineering, U of Toronto. "A Study on the Implementation of Three-Valued Logic"
Jeff Connelly, Computer Science and Engineering Dept, California Polytechnic State University, "Ternary Computing Testbed 3-Trit Computer Architecture"
Dr Douglas W Jones, Computer Science Department, University of Iowa "Standard Ternary Logic"