Недавно я познакомился с функциональным программированием (в Haskell и Scala). Его возможности и элегантность довольно очаровательны.
Но когда я встретил Монады, которая использует алгебраическую структуру по имени Моноид, я был удивлен и рад видеть, что теоретические знания, которые я изучал из математики, используются в программировании.
Это наблюдение вызвало у меня вопрос: могут ли группы, поля или кольца (см. Algebraic Structures для других) использовать в программировании для более абстракции и повторного использования кода и достижения математического программирования?
Как я знаю, язык с именем Fortress (который я бы наверняка предпочел на любом языке один раз, когда его компилятор завершен) определяет эти структуры в его библиотечном коде. Но использовать только то, что я видел до сих пор, было для числовых типов, с которыми мы уже знакомы. Могут ли быть другие виды использования?
С уважением, ciun