Share to: share facebook share twitter share wa share telegram print page

Monad transformer

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).

Definition

A monad transformer consists of:

  1. A type constructor t of kind (* -> *) -> * -> *
  2. Monad operations return and bind (or an equivalent formulation) for all t m where m is a monad, satisfying the monad laws
  3. An additional operation, lift :: m a -> t m a, satisfying the following laws:[1] (the notation `bind` below indicates infix application):
    1. lift . return = return
    2. lift (m `bind` k) = (lift m) `bind` (lift . k)

Examples

The option monad transformer

Given any monad , the option monad transformer (where denotes the option type) is defined by:

The exception monad transformer

Given any monad , the exception monad transformer (where E is the type of exceptions) is defined by:

The reader monad transformer

Given any monad , the reader monad transformer (where E is the environment type) is defined by:

The state monad transformer

Given any monad , the state monad transformer (where S is the state type) is defined by:

The writer monad transformer

Given any monad , the writer monad transformer (where W is endowed with a monoid operation with identity element ) is defined by:

The continuation monad transformer

Given any monad , the continuation monad transformer maps an arbitrary type R into functions of type , where R is the result type of the continuation. It is defined by:

Note that monad transformations are usually not commutative: for instance, applying the state transformer to the option monad yields a type (a computation which may fail and yield no final state), whereas the converse transformation has type (a computation which yields a final state and an optional return value).

See also

References

  1. ^ Liang, Sheng; Hudak, Paul; Jones, Mark (1995). "Monad transformers and modular interpreters" (PDF). Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages. New York, NY: ACM. pp. 333–343. doi:10.1145/199448.199528.

Read other articles:

Artikel ini bukan mengenai Revolutionary Love. Love RevolutionPoster promosiHangul연애혁명 GenreKomedi romansaDrama remajaBerdasarkanLove Revolutionoleh 232PengembangKakao M Digital Content StudioSkenarioKwak Kyung-yoonSutradaraSeo Joo-wanPemeranPark Ji-hoonLee RubyKim Young-hoonJung Da-eunIm Da-youngKo Chan-binAhn Do-gyuJmlh. episode30ProduksiProduser eksekutifLee Young-suk (Kakao M)You Jung-hoon (Merry Christmas)ProduserSong Jay-young (Kakao M)Durasi20 menitRumah produksiKakao MMerry Ch...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. Pengeboman Bandar Udara Internasional Beijing 2013LokasiTerminal 3 Bandar Udara Internasional Beijing di Beijing, Tiongkok [1]Koordinat40°04′48″N 116°35′04″E / 40.08000°N 116.58444°E / 40.08000; 116.58444Tan...

 

Beth PotterBiographieNaissance 27 décembre 1991 (31 ans)GlasgowNationalité britanniqueDomicile LeedsFormation Université de LoughboroughActivité TriathlèteAutres informationsTaille 1,7 mPoids 51 kgSport TriathlonÉquipe Shaftesbury Barnet Harriers (en)Discipline sportive Course de fondmodifier - modifier le code - modifier Wikidata Pour les articles homonymes, voir Potter. Beth Potter née le 27 décembre 1991 à Glasgow est une triathlète et une coureuse de fond britannique, champ...

1994 studio album by EnslavedVikingligr VeldiStudio album by EnslavedReleased22 February 1994RecordedMarch–April 1993 at Grieghallen StudioGenre Viking metal[1] black metal[1] Length50:56LabelDeathlike SilenceProducerEnslavedPyttenEnslaved chronology Hordanes Land(1993) Vikingligr Veldi(1994) Frost(1994) Vikingligr Veldi (Norse meaning roughly In the Veld of the Vikings or In the Viking Veld) is the debut studio album by Norwegian extreme metal band Enslaved. It was ...

 

Der Vertrag von Axim wurde am 17. Februar 1642 zwischen den Vereinigten Niederlanden und den Häuptlingen des Ortes Axim im Südwesten des heutigen Ghana abgeschlossen. Der Vertrag regelte die Oberhoheit der Niederlande und der Niederländischen Westindischen-Kompanie über die Stadt und ihr Herrschaftsgebiet. Der Vertrag wurde abgeschlossen, nachdem die Niederländische Westindien-Kompanie die Portugiesen vertrieben hatte, die dort bisher mit dem Fort Sao Antonio (heute Fort St. Anthony) ein...

 

Drama television series based on Michael Marshall Smith's novel The Intruders This article is about the 2014 TV series. For the 1992 miniseries, see Intruders (miniseries). IntrudersIntertitle of IntrudersGenreDrama, mystery, paranormal fictionBased onThe Intruders (novel)by Michael Marshall SmithDeveloped byGlen MorganWritten byGlen MorganDirected byEduardo SánchezDaniel StammStarringJohn SimmMira SorvinoTory KittlesJames FrainMillie Bobby BrownComposerBear McCrearyCountry of originUnited S...

بير دزغاه پيردزگاه  - قرية -  تقسيم إداري البلد  إيران[1] المحافظة لرستان المقاطعة أليغودرز الناحية الناحية المركزية القسم الريفي قسم بربرود الغربي الريفي (مقاطعة أليغودرز) إحداثيات 33°13′03″N 49°38′45″E / 33.2175°N 49.64583°E / 33.2175; 49.64583 السكان التعداد الس�...

 

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Mexica board game – news · newspapers · books · scholar · JSTOR (November 2021) (Learn how and when to remove this template message) MexicaPlayers2–4Setup time10 minutesPlaying time60–75 minutesChanceNoneAge range10 +SkillsStrategic thought Mexica is a board game design...

 

Association football club in England Football clubOxford UniversityFull nameOxford University Association Football ClubNickname(s)BluesFounded9 November 1871; 152 years ago (1871-11-09)GroundIffley Road Stadium, Oxford, EnglandCapacity499President Madeleine KowalenkoCaptain Roza Bailey, Iona Bennett and Harry WayLeagueBUCS MARS Midlands Division 1A2019–201stWebsiteClub website Home colours Oxford University Association Football Club is an English football club representing...

Australian singer and actor (born 1973) For other people with the same name, see David Campbell. David CampbellOAMCampbell in the recording studioBackground informationBirth nameDavid Joseph CampbellBorn (1973-08-06) 6 August 1973 (age 50)Adelaide, South Australia, AustraliaOriginSydney, New South Wales, AustraliaGenresSwingmusical theatrepoprockjazzOccupation(s)Singerstage performerTV presenterartistic directorYears active1993–presentLabelsSony, Social Family RecordsWebsitehttp://www....

 

2014 single by Kanye West featuring Paul McCartney Only OneSingle by Kanye West featuring Paul McCartneyReleasedDecember 31, 2014RecordedSeptember 2014[1]GenreSoulLength4:42LabelGOODDef JamSongwriter(s)Kanye WestPaul McCartneyKirby LauryenMike DeanNoah GoldsteinProducer(s)WestMcCartneyDean (add.)Goldstein (add.)Kanye West singles chronology Nobody (2014) Only One (2014) FourFiveSeconds (2015) Paul McCartney singles chronology Hope for the Future(2014) Only One(2014) FourFiveSe...

 

This article is about the novel. For the Discworld character, see I Shall Wear Midnight. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: The Cunning Man – news · newspapers · books · scholar · JSTOR (November 2012) (Learn how and when to remove this template message) 1994 novel by Robertson Davies The Cunnin...

Archaeological site in Devon, England Ringmoor stone row and cairn circleShown within DevonLocationDevongrid reference SX563658Coordinates50°28′29″N 4°01′33″W / 50.474821°N 4.025792°W / 50.474821; -4.025792TypeStone row and cairn circleHistoryPeriodsBronze Age Ringmoor stone row and cairn circle (grid reference SX563658) is a prehistoric stone row and cairn circle on Ringmoor Down in Devon. It is located three miles east of the A386, northeast of the villag...

 

Australian rugby league footballer and coach John MorrisPersonal informationFull nameJohn Andrew MorrisBorn (1980-07-29) 29 July 1980 (age 43)Scone, New South Wales, AustraliaPlaying informationHeight183 cm (6 ft 0 in)Weight90 kg (14 st 2 lb)PositionHooker, Five-eighth, Halfback Club Years Team Pld T G FG P 2001–02 Newcastle Knights 31 11 0 0 44 2003–06 Parramatta Eels 92 18 10 3 95 2007–09 Wests Tigers 72 11 0 1 45 2010–14 Cronulla Shar...

 

PhotoPlusPhotoPlus version X8Developer(s)SerifInitial release1999; 24 years ago (1999)Final releaseX8 / August 10, 2015; 8 years ago (2015-08-10) Written inC++Operating systemMicrosoft WindowsSuccessorAffinity PhotoTypeRaster graphics editorLicenseProprietaryWebsitewww.serif.com/en-gb/legacy/downloads/ Serif PhotoPlus is an image editing program for Microsoft Windows. The latest version is Serif PhotoPlus X8.[1][2] Presently Serif refers to ...

Tentara Pembebasan PalestinaLambang Tentara Pembebasan PalestinaPemimpinWajih al-MadaniMohammad Tareq al-Khadraa[1]Waktu operasi1964-sekarangKelompokPasukan Pembebasan populer 329 Commando Battallion (Mesir) Situs Batalyon 411 (Suriah) Situs Battallion 421 (Irak)Sekutu As-Sa'iqa PFLP-GCBerkas:Fatah Flag.svg Fatah al-Intifada Tentara SuriahLawan Angkatan Pertahanan Israel Tentara Pembebasan Suriah Al-Nusra Front[2] Negara Islam Irak dan LevantPertempuran dan perangPertempu...

 

Cigarro de cannabisPreparación con una cartaja.Porro de marihuana ya liado. En lenguaje coloquial, un porro, bareto, canuto, carrujo, churro, petardo, troncho, etc. es un cigarro total o parcialmente relleno de cannabis. Se trata del formato más común de consumir marihuana,[1]​ y un solo porro puede contener entre 0.5 y 1 g de esta droga.[2]​ Sin embargo, debido a la pirólisis, solo el 10–25% del principio activo es absorbido por el consumidor (50–250 mg), cantidad suficie...

 

New Zealand netball player For American artist, see Anna Huntington Stanley. Anna StanleyMNZM Personal informationBorn Anna Rowberry (1976-03-31) 31 March 1976 (age 47)Christchurch, New ZealandHeight 1.76 m (5 ft 9 in)Occupation Netballer, Commentator, Phys Ed TeacherSpouse Jeremy StanleyMarried 2006Children 3[1]Netball career Playing position(s): C, WA, WDYears Club team(s) Apps1994–2007 Auckland DiamondsWaikato-Bay of Plenty Magic Years National team(s) Ca...

Computing feature predicting ending to a word a user is typing Word prediction redirects here. For word prediction in psycholinguistics, see Prediction in language comprehension. Example of the partially typed search term baby st being autocompleted to various options Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. In Android and iOS[1] smartphones, this is called predictive text. In graphical user interfaces, users ...

 

Pentax smc D-FA 100 mm F2.8 Macro WRMakerPentaxLens mount(s)Pentax KTechnical dataTypePrimeFocus driveScrewdriveFocal length100 mmAperture (max/min)f/2.8Close focus distance0.30 metres (0.98 ft)Max. magnification1Diaphragm blades8Construction9 elements in 8 groupsFeaturesManual focus override YesWeather-sealing YesLens-based stabilization NoAperture ring NoPhysicalDiameter65 millimetres (2.6 in)Weight340 grams (0.75 lb)Filter diameter49 m...

 
Kembali kehalaman sebelumnya