{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:12:35Z","timestamp":1763467955640,"version":"3.37.0"},"publisher-location":"Berlin, Heidelberg","reference-count":43,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642030338"},{"type":"electronic","value":"9783642030345"}],"license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2009]]},"DOI":"10.1007\/978-3-642-03034-5_2","type":"book-chapter","created":{"date-parts":[[2009,7,1]],"date-time":"2009-07-01T05:08:34Z","timestamp":1246424914000},"page":"20-44","source":"Crossref","is-referenced-by-count":4,"title":["Model-Driven Engineering from Modular Monadic Semantics: Implementation Techniques Targeting Hardware and Software"],"prefix":"10.1007","author":[{"given":"William L.","family":"Harrison","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Adam M.","family":"Procter","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jason","family":"Agron","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Garrin","family":"Kimmell","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gerard","family":"Allwein","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"2_CR1","first-page":"8","volume-title":"Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP 2003)","author":"M.S. Ager","year":"2003","unstructured":"Ager, M.S., Biernacki, D., Danvy, O., Midtgaard, J.: A functional correspondence between evaluators and abstract machines. In: Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming (PPDP 2003), pp. 8\u201319. ACM Press, New York (2003)"},{"issue":"1","key":"2_CR2","doi-asserted-by":"publisher","first-page":"149","DOI":"10.1016\/j.tcs.2005.06.008","volume":"342","author":"M.S. Ager","year":"2005","unstructured":"Ager, M.S., Danvy, O., Midtgaard, J.: A functional correspondence between monadic evaluators and abstract machines for languages with computational effects. Theoretical Computer Science\u00a0342(1), 149\u2013172 (2005); Extended version available as BRICS technical report RS-4-28","journal-title":"Theoretical Computer Science"},{"key":"2_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"262","DOI":"10.1007\/978-3-642-03034-5_13","volume-title":"DSL 2009","author":"J. Agron","year":"2009","unstructured":"Agron, J.: Domain-specific language for HW\/SW co-design for FPGAs. In: Taha, W.M. (ed.) DSL 2009. LNCS, vol.\u00a05658, pp. 262\u2013284. Springer, Heidelberg (2009)"},{"key":"2_CR4","doi-asserted-by":"crossref","unstructured":"Andrews, D., Peck, W., Agron, J., Preston, K., Komp, E., Finley, M., Sass, R.: hthreads: a hardware\/software co-designed multithreaded RTOS kernel. In: Proceedings of the 10th IEEE Conference on Emerging Technologies and Factory Automation (ETFA 2005) (September 2005)","DOI":"10.1109\/ETFA.2005.1612697"},{"key":"2_CR5","volume-title":"Compiling with Continuations","author":"A.W. Appel","year":"1992","unstructured":"Appel, A.W.: Compiling with Continuations. Cambridge University Press, Cambridge (1992)"},{"key":"2_CR6","doi-asserted-by":"crossref","unstructured":"Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: Hardware design in Haskell. In: Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming (ICFP 1998), New York, NY, USA, pp. 174\u2013184 (1998)","DOI":"10.1145\/289423.289440"},{"issue":"6","key":"2_CR7","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1145\/1064978.1065039","volume":"40","author":"J. Dai","year":"2005","unstructured":"Dai, J., Huang, B., Li, L., Harrison, L.: Automatically partitioning packet processing applications for pipelined architectures. SIGPLAN Notices\u00a040(6), 237\u2013248 (2005)","journal-title":"SIGPLAN Notices"},{"key":"2_CR8","doi-asserted-by":"crossref","unstructured":"Danvy, O., Nielsen, L.R.: Defunctionalization at work. In: Proceedings of the 3rd ACM International Conference on Principles and Practice of Declarative Programming (PPDP 2001), pp. 162\u2013174 (2001)","DOI":"10.1145\/773184.773202"},{"key":"2_CR9","doi-asserted-by":"publisher","first-page":"175","DOI":"10.1145\/292540.292557","volume-title":"Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1999)","author":"A. Filinski","year":"1999","unstructured":"Filinski, A.: Representing layered monads. In: Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1999), pp. 175\u2013188. ACM Press, New York (1999)"},{"key":"2_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1007\/978-3-540-39815-8_3","volume-title":"Generative Programming and Component Engineering","author":"K. Hammond","year":"2003","unstructured":"Hammond, K., Michaelson, G.: Hume: A domain-specific language for real-time embedded systems. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol.\u00a02830, pp. 37\u201356. Springer, Heidelberg (2003)"},{"key":"2_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1007\/11575467_4","volume-title":"Programming Languages and Systems","author":"W. Harrison","year":"2005","unstructured":"Harrison, W.: A simple semantics for polymorphic recursion. In: Yi, K. (ed.) APLAS 2005. LNCS, vol.\u00a03780, pp. 37\u201351. Springer, Heidelberg (2005)"},{"key":"2_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"158","DOI":"10.1007\/11784180_14","volume-title":"Algebraic Methodology and Software Technology","author":"W. Harrison","year":"2006","unstructured":"Harrison, W.: The essence of multitasking. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol.\u00a04019, pp. 158\u2013172. Springer, Heidelberg (2006)"},{"key":"2_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"153","DOI":"10.1007\/978-3-540-70594-9_10","volume-title":"Mathematics of Program Construction","author":"W. Harrison","year":"2008","unstructured":"Harrison, W., Allwein, G., Gill, A., Procter, A.: Asynchronous exceptions as an effect. In: Audebaud, P., Paulin-Mohring, C. (eds.) MPC 2008. LNCS, vol.\u00a05133, pp. 153\u2013176. Springer, Heidelberg (2008)"},{"key":"2_CR14","doi-asserted-by":"crossref","unstructured":"Harrison, W., Hook, J.: Achieving information flow security through precise control of effects. In: Proceedings of the 18th IEEE Computer Security Foundations Workshop (CSFW 2005), Aix-en-Provence, France, June 2005, pp. 16\u201330 (2005)","DOI":"10.1109\/CSFW.2005.6"},{"key":"2_CR15","unstructured":"Harrison, W., Hook, J.: Achieving information flow security through monadic control of effects. Journal of Computer Security (invited submission), 51 (2008) (in press); Extends [14]"},{"key":"2_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1007\/10722010_14","volume-title":"Mathematics of Program Construction","author":"W. Harrison","year":"2000","unstructured":"Harrison, W., Kamin, S.: Metacomputation-based compiler architecture. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol.\u00a01837, pp. 213\u2013229. Springer, Heidelberg (2000)"},{"issue":"5","key":"2_CR17","doi-asserted-by":"publisher","first-page":"837","DOI":"10.1017\/S0956796805005666","volume":"15","author":"W. Harrison","year":"2005","unstructured":"Harrison, W., Kieburtz, R.: The logic of demand in Haskell. Journal of Functional Programming\u00a015(5), 837\u2013891 (2005)","journal-title":"Journal of Functional Programming"},{"key":"2_CR18","unstructured":"Harrison, W., Procter, A.: Cheap (but functional) threads. Higher-Order and Symbolic Computation, 44 (submitted for publication); extends [12]"},{"key":"2_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1007\/978-3-540-27764-4_12","volume-title":"Mathematics of Program Construction","author":"G. Hutton","year":"2004","unstructured":"Hutton, G., Wright, J.: Compiling exceptions correctly. In: Kozen, D. (ed.) MPC 2004. LNCS, vol.\u00a03125, pp. 211\u2013227. Springer, Heidelberg (2004)"},{"key":"2_CR20","doi-asserted-by":"crossref","unstructured":"Hutton, G., Wright, J.: Calculating an exceptional machine. In: Loidl, H.-W. (ed.) Trends in Functional Programming, February 2006, vol.\u00a05 (2006)","DOI":"10.2307\/j.ctv36xw0k5.7"},{"key":"2_CR21","doi-asserted-by":"crossref","unstructured":"Johann, P., Voigtl\u00e4nder, J.: Free theorems in the presence of $\\mathit{seq}$ . In: Proceedings of the 31st ACM SIGPLAN Symposum on Principles of Programming Languages, January 2004, pp. 99\u2013110 (2004)","DOI":"10.1145\/982962.964010"},{"key":"2_CR22","doi-asserted-by":"crossref","unstructured":"Kariotis, P., Procter, A., Harrison, W.: Making monads first-class with Template Haskell. In: Proceedings of the 1st ACM SIGPLAN Symposium on Haskell (Haskell 2008), pp. 99\u2013110 (2008)","DOI":"10.1145\/1411286.1411300"},{"key":"2_CR23","unstructured":"Kimmell, G.: System Synthesis from a Monadic Functional Language. PhD thesis, University of Kansas (2008)"},{"key":"2_CR24","doi-asserted-by":"crossref","unstructured":"Lawall, J., Muller, G., Duchesne, H.: Language design for implementing process scheduling hierarchies. In: Proceedings of the ACM Symposium on Partial Evaluation and Program Manipulation (PEPM 2004), August 2004, pp. 80\u201391 (2004)","DOI":"10.1145\/1014007.1014016"},{"key":"2_CR25","volume-title":"Ambient Intelligence","author":"P. Levis","year":"2005","unstructured":"Levis, P., Madden, S., Polastre, J., Szewczyk, R., Whitehouse, K., Woo, A., Gay, D., Hill, J., Welsh, M., Brewer, E., Culler, D.: TinyOS: An operating system for wireless sensor networks. In: Ambient Intelligence. Springer, Heidelberg (2005)"},{"key":"2_CR26","doi-asserted-by":"crossref","unstructured":"Li, P., Zdancewic, S.: Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives. In: Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI 2006), pp. 189\u2013199 (2007)","DOI":"10.1145\/1250734.1250756"},{"key":"2_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"219","DOI":"10.1007\/3-540-61055-3_39","volume-title":"Programming Languages and Systems - ESOP \u201996","author":"S. Liang","year":"1996","unstructured":"Liang, S., Hudak, P.: Modular denotational semantics for compiler construction. In: Riis Nielson, H. (ed.) ESOP 1996. LNCS, vol.\u00a01058, pp. 219\u2013234. Springer, Heidelberg (1996)"},{"key":"2_CR28","doi-asserted-by":"publisher","first-page":"333","DOI":"10.1145\/199448.199528","volume-title":"Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1995)","author":"S. Liang","year":"1995","unstructured":"Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1995), pp. 333\u2013343. ACM Press, New York (1995)"},{"key":"2_CR29","doi-asserted-by":"crossref","unstructured":"Matthews, J., Cook, B., Launchbury, J.: Microprocessor Specification in Hawk. In: Proc. of the Intl. Conf. on Computer Languages (ICCL 1998), pp. 90\u2013101 (1998)","DOI":"10.1109\/ICCL.1998.674160"},{"key":"2_CR30","doi-asserted-by":"crossref","unstructured":"Minden, G.J., Evans, J.B., Searl, L., DePardo, D., Petty, V.R., Rajbanshi, R., Newman, T., Chen, Q., Weidling, F., Guffey, J., Datla, D., Barker, B., Peck, M., Cordill, B., Wyglinski, A.M., Agah, A.: KUAR: A Flexible Software-Defined Radio Development Platform. In: 2nd IEEE Symposium on New Frontiers in Dynamic Spectrum Access Networks (DySPAN), Dublin, Ireland (April 2007)","DOI":"10.1109\/DYSPAN.2007.62"},{"key":"2_CR31","unstructured":"Moggi, E.: An abstract view of programming languages. Technical Report ECS-LFCS-90-113, Dept. of Computer Science, Edinburgh Univ. (1990)"},{"key":"2_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1007\/3-540-45022-X_5","volume-title":"Automata, Languages and Programming","author":"A. Mycroft","year":"2000","unstructured":"Mycroft, A., Sharp, R.: A statically allocated parallel functional language. In: Welzl, E., Montanari, U., Rolim, J.D.P. (eds.) ICALP 2000. LNCS, vol.\u00a01853, pp. 37\u201348. Springer, Heidelberg (2000)"},{"key":"2_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"291","DOI":"10.1007\/3-540-45739-9_18","volume-title":"Formal Techniques in Real-Time and Fault-Tolerant Systems","author":"J. Palsberg","year":"2002","unstructured":"Palsberg, J., Ma, D.: A typed interrupt calculus. In: Damm, W., Olderog, E.-R. (eds.) FTRTFT 2002. LNCS, vol.\u00a02469, pp. 291\u2013310. Springer, Heidelberg (2002)"},{"key":"#cr-split#-2_CR34.1","unstructured":"Papaspyrou, N.: A resumption monad transformer and its applications in the semantics of Concurrency. In: Proceedings of the 3rd Panhellenic Logic Symposium (2001);"},{"key":"#cr-split#-2_CR34.2","unstructured":"An expanded technical report is available from the author by request"},{"key":"2_CR35","doi-asserted-by":"crossref","unstructured":"Paulson, L.: A semantics-directed compiler generator. In: Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1982), pp. 224\u2013233 (1982)","DOI":"10.1145\/582153.582178"},{"volume-title":"Haskell 1998 Language and Libraries, Revised Report","year":"2003","key":"2_CR36","unstructured":"Peyton Jones, S. (ed.): Haskell 1998 Language and Libraries, Revised Report. Cambridge Univ. Press, Cambridge (2003)"},{"key":"2_CR37","doi-asserted-by":"crossref","unstructured":"Reynolds, J.: Definitional interpreters for higher order programming languages. In: ACM Conference Proceedings, pp. 717\u2013740 (1972)","DOI":"10.1145\/800194.805852"},{"key":"2_CR38","doi-asserted-by":"crossref","unstructured":"Roper, M., Olsson, R.: Developing embedded multi-threaded applications with CATAPULTS, a domain-specific language for generating thread schedulers. In: Proceedings of the 2005 International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES 2005), pp. 295\u2013303 (2005)","DOI":"10.1145\/1086297.1086336"},{"key":"2_CR39","doi-asserted-by":"crossref","unstructured":"Schmidt, D.C.: Model-driven engineering. IEEE Computer\u00a039(2) (February 2006)","DOI":"10.1109\/MC.2006.58"},{"key":"2_CR40","unstructured":"Sharp, R., Mycroft, A.: The FLaSh compiler: efficient circuits from functional specifications. Technical Report tr.2000.3, AT&T Research (2000)"},{"key":"2_CR41","doi-asserted-by":"crossref","unstructured":"Sheard, T., Benaissa, Z., Pasalic, E.: DSL implementation using staging and monads. In: Proceedings of the 2nd Conference on Domain-Specific Languages, Berkeley, CA, October\u00a03\u20135, pp. 81\u201394. USENIX Association (1999)","DOI":"10.1145\/331960.331975"},{"key":"2_CR42","doi-asserted-by":"crossref","first-page":"234","DOI":"10.1145\/582153.582179","volume-title":"Proceedings of the 9th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 1982)","author":"M. Wand","year":"1982","unstructured":"Wand, M.: Semantics-directed machine architecture. In: Proceedings of the 9th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 1982), pp. 234\u2013241. ACM Press, New York (1982)"}],"container-title":["Lecture Notes in Computer Science","Domain-Specific Languages"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-03034-5_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,2,10]],"date-time":"2025-02-10T15:07:18Z","timestamp":1739200038000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-03034-5_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642030338","9783642030345"],"references-count":43,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-03034-5_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2009]]}}}