Recentemente ho iniziato a conoscere la programmazione funzionale (in Haskell e Scala). Le sue capacità e l'eleganza sono piuttosto affascinanti.Esistono strutture algebriche utilizzate nella programmazione funzionale diverse da quelle monoide?
Ma quando ho incontrato Monads, che utilizza una struttura algebrica di nome Monoid, sono stato sorpreso e felice di vedere che la conoscenza teorica che ho imparato dalla matematica è stata utilizzata nella programmazione.
Questa osservazione mi ha posto una domanda: i gruppi, i campi o gli anelli (vedi Algebraic Structures per altri) possono essere utilizzati in programmazione per ulteriori scopi di astrazione e riutilizzo del codice e per ottenere una programmazione simile allo stesso matematico?
Come noto, la lingua denominata Fortress (che preferirei sicuramente in qualsiasi lingua una volta al completamento del compilatore) definisce questa struttura nel codice della libreria. Ma solo gli usi che ho visto finora erano per i tipi numerici, che abbiamo già familiarità con. Potrebbero esserci altri usi di loro?
Con i migliori saluti, CIUN
Questo non è esattamente quello che stai cercando, ma l'articolo * The Typeclassopedia * in [numero 13 di The Monad.Reader] (http://www.haskell.org/wikiupload/8/85/TMR- Issue13.pdf) potrebbe ancora essere di interesse: è una spiegazione dettagliata di diverse classi di tipi ('Functor',' Applicative', 'Monoid',' Monad', 'Arrow', ecc.) Del Preludio Haskell. – stakx