Hace poco conocí la programación funcional (en Haskell y Scala). Sus capacidades y elegancia son bastante encantadoras.¿Hay alguna estructura algebraica utilizada en la programación funcional distinta de monoid?
Pero cuando conocí a Monads, que hace uso de una estructura algebraica llamada Monoid, me sorprendió y me alegré de ver que el conocimiento teórico que he estado aprendiendo de las Matemáticas se utiliza en la programación.
Esta observación me hizo pensar: ¿Se pueden usar grupos, campos o anillos (ver Algebraic Structures para otros) en la programación para obtener más abstracción y reutilización de códigos y lograr una programación matemática similar?
Como sé, el lenguaje llamado Fortress (que seguramente preferiría sobre cualquier idioma una vez cuando se completa su compilador) define esta estructura en su código de biblioteca. Pero solo los usos que vi hasta ahora fueron para tipos numéricos, con los que ya estamos familiarizados. ¿Podría haber otros usos de ellos?
Saludos, ciun
Esto no es exactamente lo que estás buscando, pero el artículo * The Typeclassopedia * en [número 13 de The Monad.Reader] (http://www.haskell.org/wikiupload/8/85/TMR- Issue13.pdf) podría ser de interés: es una explicación detallada de varias clases de tipos ('Functor',' Applicative', 'Monoid',' Monad', 'Arrow', etc.) del preludio de Haskell. – stakx