Kessler, Ian Holm, authorWilson, James B., advisorPatel, Amit, committee memberChitsaz, Hamidreza, committee member2019-01-072019-01-072018https://hdl.handle.net/10217/193082Underlying many, if not all, areas of mathematics is category theory, an alternative to set theory as a foundation that formalizes mathematical structures and relations between them. These relations abstract the idea of a function, an abstraction used throughout mathematics as well as throughout programming. However, there is a disparity between the definition of a function used in mathematics from that used in mainstream programming. For mathematicians to utilize the power of programming to advance their mathematics, there is a demand for a paradigm of programming that uses mathematical functions, as well as the mathematical categories that support them, as the basic building blocks, enabling programs to be built by clever mathematics. This paradigm is functional programming. We wish to use functional programming to represent our mathematical structures, especially those used in computational algebra.born digitalmasters thesesengCopyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright.computer algebrafunctional programmingcategory theoryScalaFunctional programming applied to computational algebraText