{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,11,11]],"date-time":"2026-11-11T15:32:38Z","timestamp":1794411158192,"version":"4.9.0"},"publisher-location":"Berlin, Heidelberg","reference-count":21,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642276934","type":"print"},{"value":"9783642276941","type":"electronic"}],"license":[{"start":{"date-parts":[[2012,1,1]],"date-time":"2012-01-01T00:00:00Z","timestamp":1325376000000},"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":[[2012]]},"DOI":"10.1007\/978-3-642-27694-1_18","type":"book-chapter","created":{"date-parts":[[2012,2,7]],"date-time":"2012-02-07T17:38:40Z","timestamp":1328636320000},"page":"242-257","source":"Crossref","is-referenced-by-count":10,"title":["Resource-Safe Systems Programming with Embedded Domain Specific Languages"],"prefix":"10.1007","author":[{"given":"Edwin","family":"Brady","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kevin","family":"Hammond","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"18_CR1","unstructured":"Augustsson, L., Carlsson, M.: An exercise in dependent types: A well-typed interpreter (1999)"},{"key":"18_CR2","doi-asserted-by":"crossref","unstructured":"Bhatti, S., Brady, E., Hammond, K., McKinna, J.: Domain specific languages (DSLs) for network protocols. In: International Workshop on Next Generation Network Architecture, NGNA 2009 (2009)","DOI":"10.1109\/ICDCSW.2009.64"},{"key":"18_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"145","DOI":"10.1007\/978-3-540-74130-5_9","volume-title":"Implementation and Application of Functional Languages","author":"E. Brady","year":"2007","unstructured":"Brady, E.: Ivor, a Proof Engine. In: Horv\u00e1th, Z., Zs\u00f3k, V., Butterfield, A. (eds.) IFL 2006. LNCS, vol.\u00a04449, pp. 145\u2013162. Springer, Heidelberg (2007)"},{"key":"18_CR4","doi-asserted-by":"crossref","unstructured":"Brady, E.: Epic \u2014 a library for generating compilers. In: Trends in Functional Programming, TFP 2011 (to appear, 2011)","DOI":"10.1007\/978-3-642-32037-8_3"},{"key":"18_CR5","doi-asserted-by":"crossref","unstructured":"Brady, E.: Idris \u2014 systems programming meets full dependent types. In: Programming Languages meets Program Verification (PLPV 2011), pp. 43\u201354 (2011)","DOI":"10.1145\/1929529.1929536"},{"key":"18_CR6","doi-asserted-by":"crossref","unstructured":"Brady, E., Hammond, K.: A Verified Staged Interpreter is a Verified Compiler. In: Proc. GPCE 2006: Conf. on Generative Prog. and Component Eng. (2006)","DOI":"10.1145\/1173706.1173724"},{"issue":"2","key":"18_CR7","doi-asserted-by":"crossref","first-page":"145","DOI":"10.3233\/FI-2010-303","volume":"102","author":"E. Brady","year":"2010","unstructured":"Brady, E., Hammond, K.: Correct-by-construction concurrency: Using dependent types to verify implementations of effectful resource usage protocols. Fundamenta Informaticae\u00a0102(2), 145\u2013176 (2010)","journal-title":"Fundamenta Informaticae"},{"key":"18_CR8","doi-asserted-by":"crossref","unstructured":"Brady, E., Hammond, K.: Scrapping your Inefficient Engine: using Partial Evaluation to Improve Domain-Specific Language Implementation. In: Proc. ICFP 2010: ACM Intl. Conf. on Functional Programming, pp. 297\u2013308 (2010)","DOI":"10.1145\/1932681.1863587"},{"key":"18_CR9","doi-asserted-by":"crossref","unstructured":"Chapman, J., Dagand, P.-E., McBride, C., Morris, P.: The Gentle Art of Levitation. In: Proc. ICFP 2010: ACM Intl. Conf. on Funct. Prog., pp. 3\u201314 (2010)","DOI":"10.1145\/1932681.1863547"},{"key":"18_CR10","unstructured":"Hawblitzel, C.: Linear types for aliased resources. Technical Report MSR-TR-2005-141, Microsoft Research (2005)"},{"key":"18_CR11","doi-asserted-by":"crossref","unstructured":"Hofmann, M., Jost, S.: Static prediction of heap space usage for first-order function al programs. In: Proc. POPL 2003 \u2014 2003 ACM Symp. on Principles of Programming La nguages, pp. 185\u2013197. ACM (2003)","DOI":"10.1145\/640128.604148"},{"key":"18_CR12","doi-asserted-by":"crossref","unstructured":"Hudak, P.: Building domain-specific embedded languages. ACM Computing Surveys\u00a028A(4) (December 1996)","DOI":"10.1145\/242224.242477"},{"key":"18_CR13","doi-asserted-by":"publisher","first-page":"264","DOI":"10.1145\/1057387.1057390","volume":"27","author":"A. Igarashi","year":"2005","unstructured":"Igarashi, A., Kobayashi, N.: Resource usage analysis. ACM Trans. Program. Lang. Syst.\u00a027, 264\u2013313 (2005)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"18_CR14","doi-asserted-by":"crossref","unstructured":"Landin, P.: The next 700 programming languages. Communications of the ACM\u00a09(3) (March 1966)","DOI":"10.1145\/365230.365257"},{"key":"18_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"212","DOI":"10.1007\/978-3-540-40018-9_15","volume-title":"Programming Languages and Systems","author":"K. Marriott","year":"2003","unstructured":"Marriott, K., Stuckey, P., Sulzmann, M.: Resource Usage Verification. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol.\u00a02895, pp. 212\u2013229. Springer, Heidelberg (2003)"},{"issue":"1","key":"18_CR16","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1017\/S0956796803004829","volume":"14","author":"C. McBride","year":"2004","unstructured":"McBride, C., McKinna, J.: The view from the left. Journal of Functional Programming\u00a014(1), 69\u2013111 (2004)","journal-title":"Journal of Functional Programming"},{"key":"18_CR17","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1017\/S0956796807006326","volume":"18","author":"C. McBride","year":"2008","unstructured":"McBride, C., Paterson, R.: Applicative programming with effects. J. Funct. Program.\u00a018, 1\u201313 (2008)","journal-title":"J. Funct. Program."},{"key":"18_CR18","doi-asserted-by":"crossref","unstructured":"Nanevski, A., Morrisett, G., Shinnar, A., Govereau, P., Birkedal, L.: Ynot: Reasoning with the Awkward Squad. In: Proc. ICFP 2008: 2008 ACM Intl. Conf. on Functional Programming, pp. 229\u2013240. ACM (2008)","DOI":"10.1145\/1411203.1411237"},{"key":"18_CR19","unstructured":"Norell, U.: Towards a practical programming language based on dependent type theory. PhD thesis, Chalmers University of Technology (September 2007)"},{"key":"18_CR20","doi-asserted-by":"crossref","unstructured":"Pa\u0161al\u00edc, E., Taha, W., Sheard, T.: Tagless Staged Interpreters for Typed Languages. In: Proc. ICFP 2002: Intl. Conf. on Functional Programming. ACM (2002)","DOI":"10.1145\/581478.581499"},{"key":"18_CR21","doi-asserted-by":"crossref","unstructured":"Walker, D.: A Type System for Expressive Security Policies. In: Proc. POPL 2000: ACM Intl. Symp. on Principles of Programming Languages, pp. 254\u2013267 (2000)","DOI":"10.1145\/325694.325728"}],"container-title":["Lecture Notes in Computer Science","Practical Aspects of Declarative Languages"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-27694-1_18","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,7,1]],"date-time":"2020-07-01T18:00:56Z","timestamp":1593626456000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-27694-1_18"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642276934","9783642276941"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-27694-1_18","relation":{"is-part-of":[{"id-type":"doi","id":"https:\/\/doi.org\/10.1007\/978-3-642-27694-1","asserted-by":"object"}]},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012]]}}}