Czy myślałeś o spojrzeniu na algebrę komputerową? Axiom to komputerowy system algebry, w którym system typów jest modelowany na podstawie teorii kategorii (lub algebry uniwersalnej, w zależności od widoku). Istnieją dwie dalsze pochodne Axiom FriCAS i OpenAxiom .
Jeśli interesuje Cię teoria kategorii, to system typów może być jedną rzeczą, na którą warto spojrzeć.
W Axiomie każdy „element” (np. „1”, „5 * x ** 2 + 1”) jest elementem Domeny. „Domena” to obiekt Axiom zadeklarowany jako członek określonej kategorii (np. Liczba całkowita, wielomian (liczba całkowita). Kategoria Axiom to obiekt Axiom zadeklarowany jako członek wyróżnionego symbolu „kategoria” (np. Pierścień, wielomian (OBRÓT SILNIKA)).
W przypadku kategorii wielokrotnych istnieje sieć dziedziczenia. np. Kategoria Monada dziedziczy z SetCategory, Monoid z Monady, Grupa z Monoidu itp. itp.
Istnieje również polimorfizm wyższego rzędu, trochę podobny do Generics w Javie.
Kilka działań w Axiomie może być postrzeganych jako Functors, ale tutaj byłoby dużo do zrobienia!
Jeśli chcesz korzystać z Axiom, nie martwiąc się o teorię kategorii, jako typowy użytkownik końcowy, to system obliczeń symbolicznych jest właśnie odpowiednim oprogramowaniem do wyszukiwania poszczególnych algebry.