File Download
There are no files associated with this item.
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1145/2034773.2034781
- Scopus: eid_2-s2.0-80054065422
Supplementary
-
Citations:
- Scopus: 0
- Appears in Collections:
Conference Paper: Monads, zippers and views: Virtualizing the monad stack
Title | Monads, zippers and views: Virtualizing the monad stack |
---|---|
Authors | |
Keywords | Components With Side Effects Modularity Monad Transformers Zipper |
Issue Date | 2011 |
Citation | Proceedings Of The Acm Sigplan International Conference On Functional Programming, Icfp, 2011, p. 32-44 How to Cite? |
Abstract | We make monadic components more reusable and robust to changes by employing two new techniques for virtualizing the monad stack: the monad zipper and monad views. The monad zipper is a higher-order monad transformer that creates virtual monad stacks by ignoring particular layers in a concrete stack. Monad views provide a general framework for monad stack virtualization: they take the monad zipper one step further and integrate it with a wide range of other virtualizations. For instance, particular views allow restricted access to monads in the stack. Furthermore, monad views provide components with a call-by-reference-like mechanism for accessing particular layers of the monad stack. With our two new mechanisms, the monadic effects required by components no longer need to be literally reflected in the concrete monad stack. This makes these components more reusable and robust to changes. Copyright © 2011 ACM. |
Persistent Identifier | http://hdl.handle.net/10722/188495 |
References |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Schrijvers, T | en_US |
dc.contributor.author | Oliveira, BCDS | en_US |
dc.date.accessioned | 2013-09-03T04:08:43Z | - |
dc.date.available | 2013-09-03T04:08:43Z | - |
dc.date.issued | 2011 | en_US |
dc.identifier.citation | Proceedings Of The Acm Sigplan International Conference On Functional Programming, Icfp, 2011, p. 32-44 | en_US |
dc.identifier.uri | http://hdl.handle.net/10722/188495 | - |
dc.description.abstract | We make monadic components more reusable and robust to changes by employing two new techniques for virtualizing the monad stack: the monad zipper and monad views. The monad zipper is a higher-order monad transformer that creates virtual monad stacks by ignoring particular layers in a concrete stack. Monad views provide a general framework for monad stack virtualization: they take the monad zipper one step further and integrate it with a wide range of other virtualizations. For instance, particular views allow restricted access to monads in the stack. Furthermore, monad views provide components with a call-by-reference-like mechanism for accessing particular layers of the monad stack. With our two new mechanisms, the monadic effects required by components no longer need to be literally reflected in the concrete monad stack. This makes these components more reusable and robust to changes. Copyright © 2011 ACM. | en_US |
dc.language | eng | en_US |
dc.relation.ispartof | Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP | en_US |
dc.subject | Components With Side Effects | en_US |
dc.subject | Modularity | en_US |
dc.subject | Monad Transformers | en_US |
dc.subject | Zipper | en_US |
dc.title | Monads, zippers and views: Virtualizing the monad stack | en_US |
dc.type | Conference_Paper | en_US |
dc.identifier.email | Oliveira, BCDS: oliveira@comp.nus.edu.sg | en_US |
dc.identifier.authority | Oliveira, BCDS=rp01786 | en_US |
dc.description.nature | link_to_subscribed_fulltext | en_US |
dc.identifier.doi | 10.1145/2034773.2034781 | en_US |
dc.identifier.scopus | eid_2-s2.0-80054065422 | en_US |
dc.relation.references | http://www.scopus.com/mlt/select.url?eid=2-s2.0-80054065422&selection=ref&src=s&origin=recordpage | en_US |
dc.identifier.spage | 32 | en_US |
dc.identifier.epage | 44 | en_US |
dc.identifier.scopusauthorid | Schrijvers, T=8870481000 | en_US |
dc.identifier.scopusauthorid | Oliveira, BCDS=12239474400 | en_US |