Haben Sie darüber nachgedacht, sich mit Computeralgebra zu beschäftigen? Axiom ist ein Computeralgebrasystem, bei dem das Typensystem der Kategorietheorie (oder der Universalalgebra, je nach Ihrer Ansicht) nachempfunden ist. Es gibt zwei weitere Derivate von Axiom FriCAS und OpenAxiom .
Wenn Sie sich für Kategorietheorie interessieren, ist das Typensystem möglicherweise eine Sache, die Sie sich ansehen sollten.
In Axiom ist jedes "Item" (zB "1", "5 * x ** 2 + 1") ein Element einer Domain. Eine "Domäne" ist ein Axiom-Objekt, das als Mitglied einer bestimmten Kategorie deklariert wurde (z. B. Ganzzahl, Polynom (Ganzzahl). Eine Axiom-Kategorie ist ein Axiom-Objekt, das als Mitglied des definierten Symbols "Kategorie" deklariert wurde (z. B. Ring, Polynom) (R, E, V)).
Es gibt ein Vererbungsgitter für die Mehrfachvererbung unter Kategorien. zB Die Category Monad erbt von SetCategory, Monoid von Monad, Group von Monoid, etc. etc.
Es gibt auch einen Polymorphismus höherer Ordnung, ähnlich wie bei Generics in Java.
Einige Aktionen innerhalb von Axiom können als Functors angesehen werden, aber das wäre ziemlich viel, um hier darauf einzugehen!
Wenn Sie Axiom nur ohne Rücksicht auf die Kategorietheorie als typischen Endbenutzer verwenden möchten, ist ein symbolisches Rechensystem genau die richtige Software, um einzelne Algebren zu untersuchen.