{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,8]],"date-time":"2024-09-08T10:29:23Z","timestamp":1725791363208},"publisher-location":"Berlin, Heidelberg","reference-count":48,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642550980"},{"type":"electronic","value":"9783642550997"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2014]]},"DOI":"10.1007\/978-3-642-55099-7_5","type":"book-chapter","created":{"date-parts":[[2014,4,3]],"date-time":"2014-04-03T21:07:59Z","timestamp":1396559279000},"page":"145-192","source":"Crossref","is-referenced-by-count":1,"title":["Effective Aspects: A Typed Monadic Embedding of Pointcuts and Advice"],"prefix":"10.1007","author":[{"given":"Ismael","family":"Figueroa","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nicolas","family":"Tabareau","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"\u00c9ric","family":"Tanter","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"5_CR1","unstructured":"In: Proceedings of the 11th Workshop on Foundations of Aspect-Oriented Languages (FOAL 2012), Potsdam, Germany. ACM Press (March 2012)"},{"key":"5_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"144","DOI":"10.1007\/11531142_7","volume-title":"ECOOP 2005 - Object-Oriented Programming","author":"J. Aldrich","year":"2005","unstructured":"Aldrich, J.: Open modules: Modular reasoning about advice. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol.\u00a03586, pp. 144\u2013168. Springer, Heidelberg (2005)"},{"key":"5_CR3","unstructured":"In: Proceedings of the 7th ACM International Conference on Aspect-Oriented Software Development (AOSD 2008), Brussels, Belgium. ACM Press (April 2008)"},{"key":"5_CR4","unstructured":"In: Proceedings of the 9th ACM International Conference on Aspect-Oriented Software Development (AOSD 2010), Rennes and Saint Malo, France. ACM Press (March 2010)"},{"key":"5_CR5","doi-asserted-by":"crossref","unstructured":"Bagherzadeh, M., Rajan, H., Leavens, G.T., Mooney, S.: Translucid contracts: Expressive specification and modular verification for aspect-oriented interfaces. In: Proceedings of the 10th ACM International Conference on Aspect-Oriented Software Development (AOSD 2011), Porto de Galinhas, Brazil. ACM Press (March 2011)","DOI":"10.1145\/1960275.1960293"},{"key":"5_CR6","doi-asserted-by":"crossref","unstructured":"Dantas, D.S., Walker, D.: Harmless advice. In: Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2006), Charleston, South Carolina, pp. 383\u2013396. ACM Press (January 2006)","DOI":"10.1145\/1111320.1111071"},{"key":"5_CR7","doi-asserted-by":"crossref","unstructured":"Dantas, D.S., Walker, D., Washburn, G., Weirich, S.: AspectML: A polymorphic aspect-oriented functional programming language. ACM Transactions on Programming Languages and Systems\u00a030(3), Article No. 14 (May 2008)","DOI":"10.1145\/1353445.1353448"},{"key":"5_CR8","doi-asserted-by":"crossref","unstructured":"De Fraine, B., S\u00fcdholt, M., Jonckers, V.: StrongAspectJ: flexible and safe pointcut\/advice bindings. In: AOSD 2008 [3], pp. 60\u201371","DOI":"10.1145\/1353482.1353491"},{"key":"5_CR9","first-page":"201","volume-title":"Aspect-Oriented Software Development","author":"R. Douence","year":"2005","unstructured":"Douence, R., Fradet, P., S\u00fcdholt, M.: Trace-based aspects. In: Filman, R.E., Elrad, T., Clarke, S., Ak\u015fit, M. (eds.) Aspect-Oriented Software Development, pp. 201\u2013217. Addison-Wesley, Boston (2005)"},{"key":"5_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"170","DOI":"10.1007\/3-540-45429-2_13","volume-title":"Metalevel Architectures and Separation of Crosscutting Concerns","author":"R. Douence","year":"2001","unstructured":"Douence, R., Motelet, O., S\u00fcdholt, M.: A formal definition of crosscuts. In: Matsuoka, S. (ed.) Reflection 2001. LNCS, vol.\u00a02192, pp. 170\u2013186. Springer, Heidelberg (2001)"},{"issue":"3","key":"5_CR11","doi-asserted-by":"publisher","first-page":"207","DOI":"10.1016\/j.scico.2006.01.003","volume":"63","author":"C. Dutchyn","year":"2006","unstructured":"Dutchyn, C., Tucker, D.B., Krishnamurthi, S.: Semantics and scoping of aspects in higher-order languages. Science of Computer Programming\u00a063(3), 207\u2013239 (2006)","journal-title":"Science of Computer Programming"},{"key":"5_CR12","doi-asserted-by":"crossref","unstructured":"Figueroa, I., Tabareau, N., Tanter, \u00c9.: Taming aspects with monads and membranes. In: Proceedings of the 12th Workshop on Foundations of Aspect-Oriented Languages (FOAL 2013), Fukuoka, Japan, pp. 1\u20136. ACM Press (March 2013)","DOI":"10.1145\/2451598.2451600"},{"key":"5_CR13","doi-asserted-by":"crossref","unstructured":"Figueroa, I., Tanter, \u00c9.: A semantics for execution levels with exceptions. In: Proceedings of the 10th Workshop on Foundations of Aspect-Oriented Languages (FOAL 2011), Porto de Galinhas, Brazil, pp. 7\u201311. ACM Press (March 2011)","DOI":"10.1145\/1960510.1960513"},{"key":"5_CR14","doi-asserted-by":"crossref","unstructured":"Figueroa, I., Tanter, \u00c9., Tabareau, N.: A practical monadic aspect weaver. In: Proceedings of the 11th Workshop on Foundations of Aspect-Oriented Languages (FOAL 2012), pp. 21\u201326 (2012)","DOI":"10.1145\/2162010.2162018"},{"key":"5_CR15","doi-asserted-by":"crossref","unstructured":"Hilsdale, E., Hugunin, J.: Advice weaving in AspectJ. In: Lieberherr, K. (ed.) Proceedings of the 3rd ACM International Conference on Aspect-Oriented Software Development (AOSD 2004), Lancaster, UK, pp. 26\u201335. ACM Press (March 2004)","DOI":"10.1145\/976270.976276"},{"key":"5_CR16","doi-asserted-by":"crossref","unstructured":"Hofer, C., Ostermann, K.: On the relation of aspects and monads. In: Proceedings of AOSD Workshop on Foundations of Aspect-Oriented Languages (FOAL 2007), pp. 27\u201333 (2007)","DOI":"10.1145\/1233833.1233838"},{"key":"5_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"230","DOI":"10.1007\/3-540-46425-5_15","volume-title":"Programming Languages and Systems","author":"M.P. Jones","year":"2000","unstructured":"Jones, M.P.: Type classes with functional dependencies. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol.\u00a01782, pp. 230\u2013244. Springer, Heidelberg (2000)"},{"key":"5_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"327","DOI":"10.1007\/3-540-45337-7_18","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"G. Kiczales","year":"2001","unstructured":"Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 327\u2013353. Springer, Heidelberg (2001)"},{"key":"5_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"220","DOI":"10.1007\/BFb0053381","volume-title":"ECOOP \u201997 - Object-Oriented Programming","author":"G. Kiczales","year":"1997","unstructured":"Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Ak\u015fit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol.\u00a01241, pp. 220\u2013242. Springer, Heidelberg (1997)"},{"key":"5_CR20","unstructured":"Learn you a haskell website (2013), \n                    \n                      http:\/\/learnyouahaskell.com\/"},{"key":"5_CR21","doi-asserted-by":"crossref","unstructured":"Leijen, D., Meijer, E.: Domain specific embedded compilers. In: Ball, T. (ed.) Proceedings of the 2nd USENIX Conference on Domain-Specific Languages, pp. 109\u2013122 (1999)","DOI":"10.1145\/331960.331977"},{"key":"5_CR22","doi-asserted-by":"crossref","unstructured":"Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: Proceedings of the 22nd ACM Symposium on Principles of Programming Languages (POPL 95), San Francisco, California, USA, pp. 333\u2013343. ACM Press (1995)","DOI":"10.1145\/199448.199528"},{"key":"5_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"105","DOI":"10.1007\/978-3-540-40018-9_8","volume-title":"Programming Languages and Systems","author":"K.A. Hansen","year":"2003","unstructured":"Hansen, K.A., Kawauchi, K.: Dataflow pointcut in aspect-oriented programming. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol.\u00a02895, pp. 105\u2013121. Springer, Heidelberg (2003)"},{"key":"5_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"46","DOI":"10.1007\/3-540-36579-6_4","volume-title":"Compiler Construction","author":"K.A. Hansen","year":"2003","unstructured":"Hansen, K.A., Kiczales, G., Dutchyn, C.: A compilation and optimization model for aspect-oriented programs. In: Hedin, G. (ed.) CC 2003. LNCS, vol.\u00a02622, pp. 46\u201360. Springer, Heidelberg (2003)"},{"key":"5_CR25","doi-asserted-by":"crossref","unstructured":"Masuhara, H., Tatsuzawa, H., Yonezawa, A.: Aspectual Caml: an aspect-oriented functional language. In: Proceedings of the 10th ACM SIGPLAN Conference on Functional Programming (ICFP 2005), Tallin, Estonia, pp. 320\u2013330. ACM Press (September 2005)","DOI":"10.1145\/1090189.1086405"},{"key":"5_CR26","unstructured":"Meuter, W.D.: Monads as a theoretical foundation for aop. In: International Workshop on Aspect-Oriented Programming at ECOOP, p. 25. Springer (1997)"},{"issue":"1","key":"5_CR27","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1016\/0890-5401(91)90052-4","volume":"93","author":"E. Moggi","year":"1991","unstructured":"Moggi, E.: Notions of computation and monads. Information and Computation\u00a093(1), 55\u201392 (1991)","journal-title":"Information and Computation"},{"key":"5_CR28","doi-asserted-by":"crossref","unstructured":"Oliveira, B.C.D.S., Schrijvers, T., Cook, W.R.: EffectiveAdvice: discplined advice with explicit effects. In: AOSD 2010 [4], pp. 109\u2013120","DOI":"10.1145\/1739230.1739244"},{"key":"5_CR29","doi-asserted-by":"publisher","first-page":"797","DOI":"10.1017\/S0956796812000354","volume":"22","author":"B.C.D.S. Oliveira","year":"2012","unstructured":"Oliveira, B.C.D.S., Schrijvers, T., Cook, W.R.: MRI: Modular reasoning about interference in incremental programming. Journal of Functional Programming\u00a022, 797\u2013852 (2012)","journal-title":"Journal of Functional Programming"},{"issue":"1","key":"5_CR30","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1017\/S0956796806006034","volume":"17","author":"S. Peyton Jones","year":"2007","unstructured":"Peyton Jones, S., Vytiniotis, D., Weirich, S., Shields, M.: Practical type inference for arbitrary-rank types. Journal of Functional Programming\u00a017(1), 1\u201382 (2007)","journal-title":"Journal of Functional Programming"},{"key":"5_CR31","volume-title":"Types and programming languages","author":"B.C. Pierce","year":"2002","unstructured":"Pierce, B.C.: Types and programming languages. MIT Press, Cambridge (2002)"},{"key":"5_CR32","first-page":"153","volume":"5","author":"G.D. Plotkin","year":"1970","unstructured":"Plotkin, G.D.: A note on inductive generalization. Machine Intelligence\u00a05, 153\u2013163 (1970)","journal-title":"Machine Intelligence"},{"key":"5_CR33","first-page":"135","volume":"5","author":"J.C. Reynolds","year":"1970","unstructured":"Reynolds, J.C.: Transformational systems and the algebraic structure of atomic formulas. Machine Intelligence\u00a05, 135\u2013151 (1970)","journal-title":"Machine Intelligence"},{"key":"5_CR34","doi-asserted-by":"crossref","unstructured":"Rinard, M., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. In: Proceedings of the 12th ACM Symposium on Foundations of Software Engineering (FSE 12), pp. 147\u2013158. ACM Press (2004)","DOI":"10.1145\/1029894.1029917"},{"key":"5_CR35","doi-asserted-by":"crossref","unstructured":"Schrijvers, T., Oliveira, B.C.: Monads, zippers and views: virtualizing the monad stack. In: Proceedings of the 16th ACM SIGPLAN Conference on Functional Programming (ICFP 2011), Tokyo, Japan, pp. 32\u201344. ACM Press (September 2011)","DOI":"10.1145\/2034773.2034781"},{"issue":"12","key":"5_CR36","doi-asserted-by":"publisher","first-page":"60","DOI":"10.1145\/636517.636528","volume":"37","author":"T. Sheard","year":"2002","unstructured":"Sheard, T., Jones, S.P.: Template meta-programming for haskell. SIGPLAN Not.\u00a037(12), 60\u201375 (2002)","journal-title":"SIGPLAN Not."},{"key":"5_CR37","doi-asserted-by":"crossref","unstructured":"Sulzmann, M., Wang, M.: Aspect-oriented programming with type classes. In: Proceedings of the Sixth Workshop on Foundations of Aspect-Oriented Languages (FOAL 2007), Vancouver, British Columbia, Canada, pp. 65\u201374. ACM Press (2007)","DOI":"10.1145\/1233833.1233842"},{"key":"5_CR38","doi-asserted-by":"crossref","unstructured":"Tabareau, N.: A monadic interpretation of execution levels and exceptions for AOP. In: Tanter, \u00c9., Sullivan, K.J. (eds.) Proceedings of the 11th International Conference on Aspect-Oriented Software Development (AOSD 2012), Potsdam, Germany. ACM Press (March 2012)","DOI":"10.1145\/2162049.2162059"},{"key":"5_CR39","doi-asserted-by":"crossref","unstructured":"Tabareau, N., Figueroa, I., Tanter, \u00c9.: A typed monadic embedding of aspects. In: Kinzle, J. (ed.) Proceedings of the 12th International Conference on Aspect-Oriented Software Development (AOSD 2013), Fukuoka, Japan, pp. 171\u2013184. ACM Press (March 2013)","DOI":"10.1145\/2451436.2451457"},{"key":"5_CR40","doi-asserted-by":"crossref","unstructured":"Tanter, \u00c9.: Expressive scoping of dynamically-deployed aspects. In: AOSD 2008 [3], pp. 168\u2013179","DOI":"10.1145\/1353482.1353503"},{"key":"5_CR41","doi-asserted-by":"crossref","unstructured":"Tanter, \u00c9.: Execution levels for aspect-oriented programming. In: AOSD 2010 [4], pp. 37\u201348","DOI":"10.1145\/1739230.1739236"},{"key":"5_CR42","doi-asserted-by":"crossref","unstructured":"Tanter, \u00c9., Figueroa, I., Tabareau, N.: Execution levels for aspect-oriented programming: Design, semantics, implementations and applications. Science of Computer Programming (2013) (available online)","DOI":"10.1016\/j.scico.2013.09.002"},{"key":"5_CR43","doi-asserted-by":"crossref","unstructured":"Tanter, \u00c9., Moret, P., Binder, W., Ansaloni, D.: Composition of dynamic analysis aspects. In: Proceedings of the 9th ACM SIGPLAN International Conference on Generative Programming and Component Engineering (GPCE 2010), Eindhoven, The Netherlands, pp. 113\u2013122. ACM Press (October 2010)","DOI":"10.1145\/1868294.1868311"},{"key":"5_CR44","doi-asserted-by":"crossref","unstructured":"Tanter, \u00c9., Tabareau, N., Douence, R.: Taming aspects with membranes. In: Proceedings of the 11th Workshop on Foundations of Aspect-Oriented Languages (FOAL 2012) [1], pp. 3\u20138","DOI":"10.1145\/2162010.2162014"},{"key":"5_CR45","doi-asserted-by":"crossref","unstructured":"Toledo, R., Leger, P., Tanter, \u00c9.: AspectScript: Expressive aspects for the Web. In: AOSD 2010 [4], pp. 13\u201324","DOI":"10.1145\/1739230.1739233"},{"key":"5_CR46","doi-asserted-by":"crossref","unstructured":"Wadler, P.: The essence of functional programming. In: Proceedings of the 19th ACM Symposium on Principles of Programming Languages (POPL 1992), Albuquerque, New, Mexico, USA, pp. 1\u201314. ACM Press (January 1992)","DOI":"10.1145\/143165.143169"},{"key":"5_CR47","doi-asserted-by":"crossref","unstructured":"Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad hoc. In: Proceedings of the 16th ACM Symposium on Principles of Programming Languages (POPL 1989), Austin, TX, USA, pp. 60\u201376. ACM Press (January 1989)","DOI":"10.1145\/75277.75283"},{"issue":"5","key":"5_CR48","doi-asserted-by":"publisher","first-page":"890","DOI":"10.1145\/1018203.1018208","volume":"26","author":"M. Wand","year":"2004","unstructured":"Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. ACM Transactions on Programming Languages and Systems\u00a026(5), 890\u2013910 (2004)","journal-title":"ACM Transactions on Programming Languages and Systems"}],"container-title":["Lecture Notes in Computer Science","Transactions on Aspect-Oriented Software Development XI"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-55099-7_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,26]],"date-time":"2019-05-26T10:32:17Z","timestamp":1558866737000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-55099-7_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014]]},"ISBN":["9783642550980","9783642550997"],"references-count":48,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-55099-7_5","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2014]]}}}