{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,28]],"date-time":"2025-03-28T02:39:44Z","timestamp":1743129584253,"version":"3.40.3"},"publisher-location":"Cham","reference-count":13,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319897189"},{"type":"electronic","value":"9783319897196"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-89719-6_8","type":"book-chapter","created":{"date-parts":[[2018,4,18]],"date-time":"2018-04-18T10:44:21Z","timestamp":1524048261000},"page":"135-148","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["The CakeML Compiler Explorer"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0585-465X","authenticated-orcid":false,"given":"Rikard","family":"Hjort","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9371-9879","authenticated-orcid":false,"given":"Jakob","family":"Holmgren","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6216-1617","authenticated-orcid":false,"given":"Christian","family":"Persson","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,4,19]]},"reference":[{"key":"8_CR1","unstructured":"CakeML: A Verified Implementation of ML. \n                    https:\/\/github.com\/CakeML\/cakeml\n                    \n                  . Accessed 15 Sept 2017"},{"key":"8_CR2","unstructured":"CakeML Compiler Explorer. \n                    https:\/\/cakeml.org\/explorer.cgi\n                    \n                  . Accessed 4 Apr 2017"},{"key":"8_CR3","unstructured":"Compiler Explorer. \n                    https:\/\/github.com\/mattgodbolt\/compiler-explorer\n                    \n                  . Accessed 2 May 2017"},{"key":"8_CR4","unstructured":"LLVM Visualization Tool User Guide. \n                    https:\/\/llvm.org\/svn\/llvm-project\/television\/trunk\/docs\/UserGuide.html\n                    \n                  . Accessed 28 Apr 2017"},{"key":"8_CR5","unstructured":"Saser\/compiler-explorer-react. \n                    https:\/\/github.com\/Saser\/compiler-explorer-react\n                    \n                  . Accessed 11 May 2017"},{"key":"8_CR6","unstructured":"Bray, T.: The javascript object notation (JSON) data interchange format (2014). \n                    https:\/\/tools.ietf.org\/html\/rfc7159.html"},{"key":"8_CR7","doi-asserted-by":"crossref","unstructured":"De Bruijn, N.G.: Lambda calculus notation with nameless dummies: a tool for automatic formula manipulation, with application to the Church-Rosser theorem. In: Indagationes Mathematicae (Proceedings), vol. 75, pp. 381\u2013392. Elsevier (1972)","DOI":"10.1016\/1385-7258(72)90034-0"},{"key":"8_CR8","unstructured":"Farmer, A.: HERMIT: mechanized reasoning during compilation in the Glasgow Haskell Compiler. Ph.D. thesis, The University of Kansas, April 2015"},{"key":"8_CR9","unstructured":"Hjort, R., Holmgren, J., Persson, C.: The CakeML compiler explorer: visualizing how a verified compiler transforms expressions. Bachelor\u2019s thesis, Chalmers University of Technology, Department of Computer Science and Engineering, SE-412 96 G\u00f6teborg (2017). \n                    http:\/\/publications.lib.chalmers.se\/records\/fulltext\/251308\/251308.pdf"},{"key":"8_CR10","unstructured":"Kumar, R.: Self-compilation and self-verification, chap. 3, pp. 37\u201348, Technical report, UCAM-CL-TR-879, University of Cambridge, Computer Laboratory, February 2016. \n                    http:\/\/www.cl.cam.ac.uk\/techreports\/UCAM-CL-TR-879.pdf"},{"key":"8_CR11","doi-asserted-by":"crossref","unstructured":"Kumar, R., Myreen, M.O., Norrish, M., Owens, S.: CakeML: a verified implementation of ML. In: Symposium on Principles of Programming Languages [POPL]. ACM Press (2014)","DOI":"10.1145\/2535838.2535841"},{"issue":"05","key":"8_CR12","doi-asserted-by":"publisher","first-page":"653","DOI":"10.1017\/S0956796805005605","volume":"15","author":"D Sarkar","year":"2005","unstructured":"Sarkar, D., Waddell, O., Dybvig, R.K.: A nanopass framework for compiler education. J. Funct. Program. 15(05), 653\u2013667 (2005)","journal-title":"J. Funct. Program."},{"key":"8_CR13","doi-asserted-by":"crossref","unstructured":"Tan, Y.K., Myreen, M.O., Kumar, R., Fox, A., Owens, S., Norrish, M.: A new verified compiler backend for CakeML. In: International Conference on Functional Programming [ICFP]. ACM Press, September 2016","DOI":"10.1145\/2951913.2951924"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-89719-6_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,1,8]],"date-time":"2020-01-08T13:55:56Z","timestamp":1578491756000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-89719-6_8"}},"subtitle":["Tracking Intermediate Representations in a Verified\u00a0Compiler"],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319897189","9783319897196"],"references-count":13,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-89719-6_8","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"19 April 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Trends in Functional Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Canterbury","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"United Kingdom","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2017","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 June 2017","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21 June 2017","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfp2017","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.cs.kent.ac.uk\/events\/tfp17\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}