{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T04:50:14Z","timestamp":1773809414240,"version":"3.50.1"},"publisher-location":"Berlin, Heidelberg","reference-count":19,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783662466681","type":"print"},{"value":"9783662466698","type":"electronic"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"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":[[2015]]},"DOI":"10.1007\/978-3-662-46669-8_18","type":"book-chapter","created":{"date-parts":[[2015,4,1]],"date-time":"2015-04-01T14:37:37Z","timestamp":1427899057000},"page":"432-456","source":"Crossref","is-referenced-by-count":36,"title":["Monotonic References for Efficient Gradual Typing"],"prefix":"10.1007","author":[{"given":"Jeremy G.","family":"Siek","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michael M.","family":"Vitousek","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Matteo","family":"Cimini","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sam","family":"Tobin-Hochstadt","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ronald","family":"Garcia","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"18_CR1","doi-asserted-by":"crossref","unstructured":"Abadi, M., Cardelli, L., Pierce, B., Plotkin, G.: Dynamic typing in a statically-typed language. In: Symposium on Principles of programming languages (1989)","DOI":"10.1145\/75277.75296"},{"key":"18_CR2","doi-asserted-by":"crossref","unstructured":"Bierman, G., Meijer, E., Torgersen, M.: Adding dynamic types to C#. In: European Conference on Object-Oriented Programming (2010)","DOI":"10.1007\/978-3-642-14107-2_5"},{"key":"18_CR3","unstructured":"Boyland, J.T.: The problem of structural type tests in a gradual-typed language. In: Foundations of Object Oriented Languages, FOOL 2014, pp. 675\u2013681. ACM (2014)"},{"key":"18_CR4","unstructured":"F\u00e4hndrich, M., Leino, K.R.M.: Heap monotonic typestate. In: International Workshop on Alias Confinement and Ownership (2003)"},{"key":"18_CR5","doi-asserted-by":"crossref","unstructured":"Findler, R.B., Felleisen, M.: Contracts for higher-order functions. In: International Conference on Functional Programming, ICFP, pp. 48\u201359 (2002)","DOI":"10.1145\/583852.581484"},{"key":"18_CR6","unstructured":"Flatt, M.: The Racket reference\u00a06.0. Technical report, PLT Inc (2014), \n                    \n                      http:\/\/docs.racket-lang.org\/reference\/index.html"},{"issue":"3","key":"18_CR7","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1016\/0167-6423(94)00004-2","volume":"22","author":"F. Henglein","year":"1994","unstructured":"Henglein, F.: Dynamic typing: syntax and proof theory. Science of Computer Programming\u00a022(3), 197\u2013230 (1994)","journal-title":"Science of Computer Programming"},{"key":"18_CR8","unstructured":"Herman, D., Tomb, A., Flanagan, C.: Space-efficient gradual typing. In: Trends in Functional Prog (TFP), p. XXVIII (April 2007)"},{"key":"18_CR9","doi-asserted-by":"crossref","unstructured":"Rastogi, A., Swamy, N., Fournet, C., Bierman, G., Vekris, P.: Safe & efficient gradual typing for TypeScript. Technical Report MSR-TR-2014-99 (2014)","DOI":"10.1145\/2676726.2676971"},{"key":"18_CR10","unstructured":"Siek, J.G., Taha, W.: Gradual typing for functional languages. In: Scheme and Functional Programming Workshop, pp. 81\u201392 (September 2006)"},{"key":"18_CR11","unstructured":"Siek, J.G., Vitousek, M.M.: Monotonic references for gradual typing. In: Computing Research Repository (2013), \n                    \n                      http:\/\/arxiv.org\/abs\/1312.0694"},{"key":"18_CR12","doi-asserted-by":"crossref","unstructured":"Siek, J.G., Wadler, P.: Threesomes, with and without blame. In: Symposium on Principles of Programming Languages, POPL, pp. 365\u2013376 (January 2010)","DOI":"10.1145\/1707801.1706342"},{"key":"18_CR13","unstructured":"Siek, J.G., Vitousek, M.M., Cimini, M., Boyland, J.T.: Refined criteria for gradual typing. Under review for publication at SNAPL 2015 (2015)"},{"key":"18_CR14","doi-asserted-by":"crossref","unstructured":"Strickland, T.S., Tobin-Hochstadt, S., Findler, R.B., Flatt, M.: Chaperones and impersonators: run-time support for reasonable interposition. In: OOPSLA (2012)","DOI":"10.1145\/2384616.2384685"},{"key":"18_CR15","doi-asserted-by":"crossref","unstructured":"Swamy, N., Fournet, C., Rastogi, A., Bhargavan, K., Chen, J., Strub, P.-Y., Bierman, G.: Gradual typing embedded securely in JavaScript. In: Symposium on Principles of Programming Languages, POPL (January 2014)","DOI":"10.1145\/2535838.2535889"},{"key":"18_CR16","doi-asserted-by":"crossref","unstructured":"Tobin-Hochstadt, S., Felleisen, M.: Interlanguage migration: From scripts to programs. In: Dynamic Languages Symposium (2006)","DOI":"10.1145\/1176617.1176755"},{"key":"18_CR17","doi-asserted-by":"crossref","unstructured":"Vitousek, M.M., Siek, J.G., Kent, A., Baker, J.: Design and evaluation of gradual typing for Python. In: Dynamic Languages Symposium (2014)","DOI":"10.1145\/2661088.2661101"},{"key":"18_CR18","doi-asserted-by":"crossref","unstructured":"Wadler, P., Findler, R.B.: Well-typed programs can\u2019t be blamed. In: European Symposium on Programming, ESOP, pp. 1\u201316 (March 2009)","DOI":"10.1007\/978-3-642-00590-9_1"},{"key":"18_CR19","doi-asserted-by":"crossref","unstructured":"Wrigstad, T., Nardelli, F.Z., Lebresne, S., \u00d6stlund, J., Vitek, J.: Integrating typed and untyped code in a scripting language. In: Symposium on Principles of Programming Languages, POPL, pp. 377\u2013388 (2010)","DOI":"10.1145\/1707801.1706343"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-662-46669-8_18","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,29]],"date-time":"2019-05-29T14:27:57Z","timestamp":1559140077000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-662-46669-8_18"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783662466681","9783662466698"],"references-count":19,"URL":"https:\/\/doi.org\/10.1007\/978-3-662-46669-8_18","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015]]}}}