Задумывались ли вы о взгляде на компьютерную алгебру? Аксиома - это система компьютерной алгебры, в которой система типов смоделирована после теории категорий (или универсальной алгебры, в зависимости от вашего взгляда). Есть еще две производные от Axiom FriCAS и OpenAxiom .
Если вы интересуетесь теорией категорий, то вам стоит обратить внимание на систему типов.
В Аксиоме каждый «элемент» (например, «1», «5 * x ** 2 + 1») является элементом домена. «Домен» - это объект Axiom, объявленный как член определенной категории (например, Integer, Polynomial (Integer). Категория Axiom - это объект Axiom, объявленный как член различаемого символа «Category» (например, Ring, Polynomial). (R, E, F)).
Существует решетка наследования для множественного наследования среди категорий. например, Категория Monad наследуется от SetCategory, Monoid от Monad, Group от Monoid и т. д., и т. д.
Существует также полиморфизм высшего порядка, немного похожий на Generics в Java.
Несколько действий в Аксиоме можно рассматривать как Функторы, но это было бы довольно много, чтобы рассмотреть их здесь!
Если вы просто хотите использовать Axiom, не беспокоясь о теории категорий, в качестве типичного конечного пользователя, то система символьных вычислений - это как раз то, что нужно для изучения отдельных алгебр.