Gần đây tôi đã biết về lập trình hàm (trong Haskell và Scala). Đó là khả năng và sự thanh lịch khá quyến rũ.Có cấu trúc đại số nào được sử dụng trong lập trình hàm khác không?
Nhưng khi tôi gặp Monads, sử dụng cấu trúc đại số có tên Monoid, tôi đã rất ngạc nhiên và vui mừng khi thấy kiến thức lý thuyết mà tôi đã học từ Toán học được sử dụng trong lập trình.
Quan sát này đưa ra một câu hỏi: Nhóm, trường hoặc nhẫn (xem Algebraic Structures cho người khác) có được sử dụng trong lập trình cho mục đích tái sử dụng mã và trừu tượng hơn và đạt được lập trình toán học không?
Như tôi biết, ngôn ngữ có tên Fortress (mà tôi chắc chắn sẽ thích hơn bất kỳ ngôn ngữ nào khi trình biên dịch của nó được hoàn thành) xác định cấu trúc này trong mã thư viện của nó. Nhưng chỉ sử dụng tôi thấy cho đến nay là cho các loại số, mà chúng tôi đã quen thuộc với. Có thể có bất kỳ cách sử dụng nào khác của họ không?
Trân trọng, ciun
Đây không phải chính xác những gì bạn đang tìm kiếm, nhưng bài viết * The Typeclassopedia * trong [vấn đề 13 của The Monad.Reader] (http://www.haskell.org/wikiupload/8/85/TMR- Issue13.pdf) vẫn có thể được quan tâm: Đó là một lời giải thích chi tiết của một số loại lớp ('Functor',' Applicative', 'Monoid',' Monad', 'Arrow', vv) từ Haskell Prelude. – stakx