Monad transformer (original) (raw)
In functional programming, a monad transformer is a type constructor which takes a monad as an argument and returns a monad as a result. Monad transformers can be used to compose features encapsulated by monads – such as state, exception handling, and I/O – in a modular way. Typically, a monad transformer is created by generalising an existing monad; applying the resulting monad transformer to the identity monad yields a monad which is equivalent to the original monad (ignoring any necessary boxing and unboxing).
Property | Value |
---|---|
dbo:abstract | Monadický operátor je typový operátor vyššího druhu přiřazující libovolné monádě jinou monádu. Jedná se o endofunktor v kategorii endofunktorů. Monadický operátor T je druhu poskytující pro každou monádu operace a nad TMa a navíc speciální funkci (někdy nazývanou "lift") takovou, že platí a . Ve funkcionálních jazycích, protože složení dvou monád obecně není monáda, se používají monadické operátory, chceme-li spojit funkčnost dvou monád do jedné. Jazyky jako Haskell nabízejí ke každé monádě také odpovídající operátor. Lze snadno ukázat, že λ je přirozená transformace z M do TM. Pro libovolnou monádu F platí . Chceme dokázat, že pro libovolný morfismus platí . V prvním případě máme Ve druhém pak přímo Uvedený diagram tedy komutuje, pročež je λ přirozenou transformací. (cs) In functional programming, a monad transformer is a type constructor which takes a monad as an argument and returns a monad as a result. Monad transformers can be used to compose features encapsulated by monads – such as state, exception handling, and I/O – in a modular way. Typically, a monad transformer is created by generalising an existing monad; applying the resulting monad transformer to the identity monad yields a monad which is equivalent to the original monad (ignoring any necessary boxing and unboxing). (en) |
dbo:wikiPageExternalLink | http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Monad_transformers/ |
dbo:wikiPageID | 14643334 (xsd:integer) |
dbo:wikiPageLength | 7360 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1000161612 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Commutative dbr:Monad_(functional_programming) dbr:Monoid dbr:Functional_programming dbc:Functional_programming dbr:Exception_handling dbr:Kind_(type_theory) dbr:Option_type dbr:Monads_in_functional_programming |
dbp:wikiPageUsesTemplate | dbt:Expand_section dbt:Math dbt:Mvar dbt:Reflist dbt:Wikibooks |
dct:subject | dbc:Functional_programming |
gold:hypernym | dbr:Constructor |
rdf:type | dbo:FormulaOneTeam |
rdfs:comment | In functional programming, a monad transformer is a type constructor which takes a monad as an argument and returns a monad as a result. Monad transformers can be used to compose features encapsulated by monads – such as state, exception handling, and I/O – in a modular way. Typically, a monad transformer is created by generalising an existing monad; applying the resulting monad transformer to the identity monad yields a monad which is equivalent to the original monad (ignoring any necessary boxing and unboxing). (en) Monadický operátor je typový operátor vyššího druhu přiřazující libovolné monádě jinou monádu. Jedná se o endofunktor v kategorii endofunktorů. Monadický operátor T je druhu poskytující pro každou monádu operace a nad TMa a navíc speciální funkci (někdy nazývanou "lift") takovou, že platí a . Ve funkcionálních jazycích, protože složení dvou monád obecně není monáda, se používají monadické operátory, chceme-li spojit funkčnost dvou monád do jedné. Jazyky jako Haskell nabízejí ke každé monádě také odpovídající operátor. V prvním případě máme Ve druhém pak přímo (cs) |
rdfs:label | Monadický operátor (cs) Monad transformer (en) |
owl:sameAs | freebase:Monad transformer wikidata:Monad transformer dbpedia-cs:Monad transformer https://global.dbpedia.org/id/4ramg |
prov:wasDerivedFrom | wikipedia-en:Monad_transformer?oldid=1000161612&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Monad_transformer |
is dbo:wikiPageRedirects of | dbr:Monad_transformers |
is dbo:wikiPageWikiLink of | dbr:Monad_(functional_programming) dbr:Monad_transformers |
is foaf:primaryTopic of | wikipedia-en:Monad_transformer |