Abstract algebra and Programming

user59634 picture user59634 · Feb 24, 2009 · Viewed 10.8k times · Source

I am going to start learning Abstract Algebra- Groups, Rings,etc. I am interested to know any programming language, if at all which can help me learn/try the concepts I learn in theory.

EDIT: I am not really looking at implementing what I learn. I am interested to know any language which already supports them.

Answer

Thomas picture Thomas · Feb 24, 2009

Maybe a slightly different take on your question, but still... The functional language Haskell uses concepts from algebra (particularly category theory) such as monads, monoids, arrows and whatnot.

Using Haskell's typeclasses, you could also make any object into a group, or a ring, for example, simply by defining operations (operators) on them. Guaranteeing that the operations you define actually comply to the group/ring axioms would be your responsibility, however.