{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,12]],"date-time":"2026-06-12T10:08:37Z","timestamp":1781258917877,"version":"3.54.1"},"publisher-location":"Berlin, Heidelberg","reference-count":21,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783642122507","type":"print"},{"value":"9783642122514","type":"electronic"}],"license":[{"start":{"date-parts":[[2010,1,1]],"date-time":"2010-01-01T00:00:00Z","timestamp":1262304000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2010]]},"DOI":"10.1007\/978-3-642-12251-4_9","type":"book-chapter","created":{"date-parts":[[2010,4,9]],"date-time":"2010-04-09T23:32:42Z","timestamp":1270855962000},"page":"103-117","source":"Crossref","is-referenced-by-count":122,"title":["Code Generation via Higher-Order Rewrite Systems"],"prefix":"10.1007","author":[{"given":"Florian","family":"Haftmann","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tobias","family":"Nipkow","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"9_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"131","DOI":"10.1007\/978-3-642-03359-9_11","volume-title":"TPHOLs 2009","author":"S. Berghofer","year":"2009","unstructured":"Berghofer, S., Bulwahn, L., Haftmann, F.: Turning inductive into equational specifications. In: Urban, C. (ed.) TPHOLs 2009. LNCS, vol.\u00a05674, pp. 131\u2013146. Springer, Heidelberg (2009)"},{"key":"9_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"24","DOI":"10.1007\/3-540-45842-5_2","volume-title":"Types for Proofs and Programs","author":"S. Berghofer","year":"2002","unstructured":"Berghofer, S., Nipkow, T.: Executing higher order logic. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) TYPES 2000. LNCS, vol.\u00a02277, pp. 24\u201340. Springer, Heidelberg (2002)"},{"key":"9_CR3","volume-title":"Second International Conference on SEFM 2004: Proc. of the Software Engineering and Formal Methods","author":"S. Berghofer","year":"2004","unstructured":"Berghofer, S., Nipkow, T.: Random testing in Isabelle\/HOL. In: Second International Conference on SEFM 2004: Proc. of the Software Engineering and Formal Methods. IEEE Computer Society, Los Alamitos (2004)"},{"key":"9_CR4","unstructured":"Crow, J., Owre, S., Rushby, J., Shankar, N., Stringer-Calvert, D.: Evaluating, testing, and animating PVS specifications. Tech. rep., Computer Science Laboratory, SRI International (2001)"},{"issue":"1","key":"9_CR5","first-page":"15","volume":"18","author":"D.A. Greve","year":"2007","unstructured":"Greve, D.A., Kaufmann, M., Manolios, P., Moore, J.S., Ray, S., Ruiz-Reina, J.L., Sumners, R., Vroon, D., Wilding, M.: Efficient execution in an automated reasoning environment. Journal of Functional Programming\u00a018(1), 15\u201346 (2007)","journal-title":"Journal of Functional Programming"},{"key":"9_CR6","unstructured":"Haftmann, F.: Code generation from specifications in higher order logic. Ph.D. thesis, Technische Universit\u00e4t M\u00fcnchen (2009)"},{"key":"9_CR7","doi-asserted-by":"crossref","unstructured":"Hall, C., Hammond, K., Peyton Jones, S., Wadler, P.: Type classes in Haskell. ACM Transactions on Programming Languages and Systems\u00a018(2) (1996)","DOI":"10.1145\/227699.227700"},{"key":"9_CR8","volume-title":"Systematic Software Development using VDM","author":"C.B. Jones","year":"1990","unstructured":"Jones, C.B.: Systematic Software Development using VDM, 2nd edn. Prentice Hall International, Englewood Cliffs (1990)","edition":"2"},{"key":"9_CR9","doi-asserted-by":"crossref","unstructured":"Jones, M.P.: Qualified types: Theory and practice. Ph.D. thesis, University of Nottingham (1994)","DOI":"10.1017\/CBO9780511663086"},{"key":"9_CR10","unstructured":"Letouzey, P.: Programmation fonctionnelle certifi\u00e9e \u2013 l\u2019extraction de programmes dans l\u2019assistant Coq. Ph.D. thesis, Universit\u00e9 Paris-Sud (2004)"},{"key":"9_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"359","DOI":"10.1007\/978-3-540-69407-6_39","volume-title":"Logic and Theory of Algorithms","author":"P. Letouzey","year":"2008","unstructured":"Letouzey, P.: Coq Extraction, an Overview. In: Beckmann, A., Dimitracopoulos, C., L\u00f6we, B. (eds.) CiE 2008. LNCS, vol.\u00a05028, pp. 359\u2013369. Springer, Heidelberg (2008)"},{"key":"9_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"310","DOI":"10.1007\/978-3-642-03359-9_22","volume-title":"TPHOLs 2009","author":"A. Lochbihler","year":"2009","unstructured":"Lochbihler, A.: Formalising FinFuns - generating code for functions as data from Isabelle\/HOL. In: Urban, C. (ed.) TPHOLs 2009. LNCS, vol.\u00a05674, pp. 310\u2013326. Springer, Heidelberg (2009)"},{"key":"9_CR13","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/S0304-3975(97)00143-6","volume":"192","author":"R. Mayr","year":"1998","unstructured":"Mayr, R., Nipkow, T.: Higher-order rewrite systems and their confluence. Theor. Comput. Sci.\u00a0192, 3\u201329 (1998)","journal-title":"Theor. Comput. Sci."},{"key":"9_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","DOI":"10.1007\/3-540-45949-9","volume-title":"Isabelle\/HOL","author":"T. Nipkow","year":"2002","unstructured":"Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle\/HOL. LNCS, vol.\u00a02283. Springer, Heidelberg (2002)"},{"key":"9_CR15","volume-title":"Proc. 20th ACM Symp. Principles of Programming Languages","author":"T. Nipkow","year":"1993","unstructured":"Nipkow, T., Prehofer, C.: Type checking type classes. In: Proc. 20th ACM Symp. Principles of Programming Languages. ACM Press, New York (1993)"},{"issue":"2","key":"9_CR16","doi-asserted-by":"publisher","first-page":"201","DOI":"10.1017\/S0956796800001325","volume":"5","author":"T. Nipkow","year":"1995","unstructured":"Nipkow, T., Prehofer, C.: Type reconstruction for type classes. J. Functional Programming\u00a05(2), 201\u2013224 (1995)","journal-title":"J. Functional Programming"},{"key":"9_CR17","volume-title":"Proc. Int. Conf. Functional Programming (ICFP 1997)","author":"C. Okasaki","year":"1997","unstructured":"Okasaki, C.: Catenable double-ended queues. In: Proc. Int. Conf. Functional Programming (ICFP 1997). ACM Press, New York (1997)"},{"key":"9_CR18","series-title":"LNAI","doi-asserted-by":"crossref","DOI":"10.1007\/BFb0024065","volume-title":"Computational Aspects of an Order-Sorted Logic with Term Declarations","author":"M. Schmidt-Schau\u00df","year":"1989","unstructured":"Schmidt-Schau\u00df, M.: Computational aspects of an order-sorted logic with term declarations. LNAI 395. Springer (1989)"},{"key":"9_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"452","DOI":"10.1007\/978-3-642-03359-9_31","volume-title":"TPHOLs 2009","author":"R. Thiemann","year":"2009","unstructured":"Thiemann, R., Sternagel, C.: Certification of termination proofs using CeTA. In: Urban, C. (ed.) TPHOLs 2009. LNCS, vol.\u00a05674, pp. 452\u2013468. Springer, Heidelberg (2009)"},{"key":"9_CR20","unstructured":"Wehr, S.: ML modules and Haskell type classes: A constructive comparison. Master\u2019s thesis, Albert-Ludwigs-Universit\u00e4t, Freiburg (2005)"},{"key":"9_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"188","DOI":"10.1007\/978-3-540-89330-1_14","volume-title":"Programming Languages and Systems","author":"S. Wehr","year":"2008","unstructured":"Wehr, S., Chakravarty, M.M.T.: ML modules and Haskell type classes: A constructive comparison. In: Ramalingam, G. (ed.) APLAS 2008. LNCS, vol.\u00a05356, pp. 188\u2013204. Springer, Heidelberg (2008)"}],"container-title":["Lecture Notes in Computer Science","Functional and Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-12251-4_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,19]],"date-time":"2019-05-19T18:10:24Z","timestamp":1558289424000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-12251-4_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9783642122507","9783642122514"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-12251-4_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010]]}}}