{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:05Z","timestamp":1772164025079,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":58,"publisher":"ACM","license":[{"start":{"date-parts":[[2009,10,25]],"date-time":"2009-10-25T00:00:00Z","timestamp":1256428800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2009,10,25]]},"DOI":"10.1145\/1640089.1640098","type":"proceedings-article","created":{"date-parts":[[2009,10,27]],"date-time":"2009-10-27T09:27:28Z","timestamp":1256635648000},"page":"117-136","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":39,"title":["Thorn"],"prefix":"10.1145","author":[{"given":"Bard","family":"Bloom","sequence":"first","affiliation":[{"name":"IBM Research, Yorktown Heights, NY, USA"}]},{"given":"John","family":"Field","sequence":"additional","affiliation":[{"name":"IBM Research, Yorktown Heights, NY, USA"}]},{"given":"Nathaniel","family":"Nystrom","sequence":"additional","affiliation":[{"name":"University of Texas at Arlington, Arlington, TX, USA"}]},{"given":"Johan","family":"\u00d6stlund","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, IN, USA"}]},{"given":"Gregor","family":"Richards","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, IN, USA"}]},{"given":"Rok","family":"Strni\u0161a","sequence":"additional","affiliation":[{"name":"University of Cambridge, Cambridge, UNK, United Kingdom"}]},{"given":"Jan","family":"Vitek","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, IN, USA"}]},{"given":"Tobias","family":"Wrigstad","sequence":"additional","affiliation":[{"name":"Stockholm University, Stockolm, Sweden"}]}],"member":"320","published-online":{"date-parts":[[2009,10,25]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"http:\/\/erlang.org\/doc\/","author":"Manual Erlang Reference","year":"2008","unstructured":"Erlang Reference Manual . http:\/\/erlang.org\/doc\/ , 2008 . Version 5.6.5. Erlang Reference Manual. http:\/\/erlang.org\/doc\/, 2008. Version 5.6.5."},{"key":"e_1_3_2_1_2_1","volume-title":"http:\/\/docs.python.org\/3.0\/tutorial\/modules.html","author":"Modules The Python","year":"2009","unstructured":"The Python Tutorial - Modules . http:\/\/docs.python.org\/3.0\/tutorial\/modules.html , 2009 . Version 3.0.1. The Python Tutorial - Modules. http:\/\/docs.python.org\/3.0\/tutorial\/modules.html, 2009. Version 3.0.1."},{"key":"e_1_3_2_1_3_1","volume-title":"March","author":"Allen Eric","year":"2008","unstructured":"Eric Allen , David Chase , Joe Hallett , Victor Luchangco , Jan-Willem Maessen , Sukyoung Ryu , Guy L. Steele , Jr., and Sam Tobin-Hochstadt . The Fortress language specification, version 1.0 , March 2008 . Eric Allen, David Chase, Joe Hallett, Victor Luchangco, Jan-Willem Maessen, Sukyoung Ryu, Guy L. Steele, Jr., and Sam Tobin-Hochstadt. The Fortress language specification, version 1.0, March 2008."},{"key":"e_1_3_2_1_4_1","volume-title":"Babyj: from object based to class based programming via types. Electr. Notes Theor. Comput. Sci., 82(7)","author":"Anderson Christopher","year":"2003","unstructured":"Christopher Anderson and Sophia Drossopoulou . Babyj: from object based to class based programming via types. Electr. Notes Theor. Comput. Sci., 82(7) , 2003 . Christopher Anderson and Sophia Drossopoulou. Babyj: from object based to class based programming via types. Electr. Notes Theor. Comput. Sci., 82(7), 2003."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167479"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/38765.38847"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/376656.376812"},{"key":"e_1_3_2_1_8_1","volume-title":"December","author":"Barclay Kenneth","year":"2006","unstructured":"Kenneth Barclay and John Savage , editors. Groovy Programming. Morgan Kaufmann , December 2006 . Kenneth Barclay and John Savage, editors. Groovy Programming. Morgan Kaufmann, December 2006."},{"key":"e_1_3_2_1_9_1","volume-title":"Principles behind the agile manifesto","author":"Beck Kent","year":"2007","unstructured":"Kent Beck and Principles behind the agile manifesto , 2007 . http:\/\/agilemanifesto.org\/principles.html. Kent Beck and et al. Principles behind the agile manifesto, 2007. http:\/\/agilemanifesto.org\/principles.html."},{"key":"e_1_3_2_1_10_1","volume-title":"OOPSLA'04 Workshop on Revival of Dynamic Languages","author":"Bracha Gilad","year":"2004","unstructured":"Gilad Bracha . Pluggable type systems . In OOPSLA'04 Workshop on Revival of Dynamic Languages , October 2004 . Gilad Bracha. Pluggable type systems. In OOPSLA'04 Workshop on Revival of Dynamic Languages, October 2004."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/97946.97982"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1177\/1094342007078442"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/800296.811515"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094852"},{"key":"e_1_3_2_1_15_1","unstructured":"Clojure. http:\/\/clojure.org\/.  Clojure. http:\/\/clojure.org\/."},{"key":"e_1_3_2_1_16_1","unstructured":"The Computer Language Benchmarks Game. http:\/\/shootout.alioth.debian.org\/.  The Computer Language Benchmarks Game. http:\/\/shootout.alioth.debian.org\/."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/2394758.2394779"},{"key":"e_1_3_2_1_18_1","unstructured":"Matthew Flatt and Robert Bruce Findler. PLT Scheme Guide - Modules. http:\/\/docs.plt-scheme.org\/guide\/modules.html 2009. Version 4.1.5.1.  Matthew Flatt and Robert Bruce Findler. PLT Scheme Guide - Modules. http:\/\/docs.plt-scheme.org\/guide\/modules.html 2009. Version 4.1.5.1."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/964001.964011"},{"key":"e_1_3_2_1_20_1","volume-title":"February","author":"Garrett Jesse James","year":"2005","unstructured":"Jesse James Garrett . Ajax: A new approach to web applications , February 2005 . http:\/\/www.adaptivepath.com\/ideas\/essays\/archives\/000385.php. Jesse James Garrett. Ajax: A new approach to web applications, February 2005. http:\/\/www.adaptivepath.com\/ideas\/essays\/archives\/000385.php."},{"key":"e_1_3_2_1_21_1","volume-title":"ESUG 2007 International Conference on Dynamic Languages (ESUG\/ICDL 2007","author":"Haldiman Niklaus","year":"2009","unstructured":"Niklaus Haldiman , Marcus Denker , and Oscar Nierstrasz . Practical, pluggable types for a dynamic language. Computer Languages, Systems&amp;Structures , ESUG 2007 International Conference on Dynamic Languages (ESUG\/ICDL 2007 ), 35(1):48--62, April 2009 . Niklaus Haldiman, Marcus Denker, and Oscar Nierstrasz. Practical, pluggable types for a dynamic language. Computer Languages, Systems&amp;Structures, ESUG 2007 International Conference on Dynamic Languages (ESUG\/ICDL 2007), 35(1):48--62, April 2009."},{"key":"e_1_3_2_1_22_1","volume-title":"C# language specification","author":"Hejlsberg A.","year":"2003","unstructured":"A. Hejlsberg , S. Wiltamuth , and P. Golde . C# language specification . 2003 . A. Hejlsberg, S. Wiltamuth, and P. Golde. C# language specification. 2003."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/1785754.1785765"},{"key":"e_1_3_2_1_24_1","volume-title":"Haskell 98 Language and Libraries: The Revised Report","author":"Jones Simon P.","year":"2003","unstructured":"Simon P. Jones . Haskell 98 Language and Libraries: The Revised Report . Cambridge University Press , May 2003 . Simon P. Jones. Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, May 2003."},{"key":"e_1_3_2_1_25_1","unstructured":"Java powered Ruby implementation. http:\/\/jruby.codehaus.org\/.  Java powered Ruby implementation. http:\/\/jruby.codehaus.org\/."},{"key":"e_1_3_2_1_26_1","unstructured":"Introducing JSON. http:\/\/www.json.org\/.  Introducing JSON. http:\/\/www.json.org\/."},{"key":"e_1_3_2_1_27_1","unstructured":"The Jython Project. http:\/\/www.jython.org\/.  The Jython Project. http:\/\/www.jython.org\/."},{"key":"e_1_3_2_1_28_1","unstructured":"The Kawa language framework. http:\/\/www.gnu.org\/software\/kawa.  The Kawa language framework. http:\/\/www.gnu.org\/software\/kawa."},{"key":"e_1_3_2_1_29_1","volume-title":"The objective caml system, release 3.11. Documentation and user's manual","author":"Leroy Xavier","year":"2004","unstructured":"Xavier Leroy , Damien Doligez , Jacques Garrigue , Didier Rmy , and Jrme Vouillon . The objective caml system, release 3.11. Documentation and user's manual , 2004 . http:\/\/caml.inria.fr\/pub\/docs\/manual-ocaml\/. Xavier Leroy, Damien Doligez, Jacques Garrigue, Didier Rmy, and Jrme Vouillon. The objective caml system, release 3.11. Documentation and user's manual, 2004. http:\/\/caml.inria.fr\/pub\/docs\/manual-ocaml\/."},{"key":"e_1_3_2_1_30_1","volume-title":"Abstraction and Specification in Program Development","author":"Liskov Barbara","year":"1986","unstructured":"Barbara Liskov and John V. Guttag . Abstraction and Specification in Program Development . MIT Press\/McGraw-Hill , 1986 . Barbara Liskov and John V. Guttag. Abstraction and Specification in Program Development. MIT Press\/McGraw-Hill, 1986."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640092"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142473.1142552"},{"key":"e_1_3_2_1_33_1","volume-title":"The Definition of Standard ML","author":"Milner Robin","year":"1990","unstructured":"Robin Milner , Mads Tofte , and Robert Harper . The Definition of Standard ML . MIT Press , Cambridge, MA , 1990 . Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, Cambridge, MA, 1990."},{"key":"e_1_3_2_1_34_1","volume-title":"12th International Conference on Compiler Construction (CC 2003","author":"Nystrom Nathaniel","year":"2003","unstructured":"Nathaniel Nystrom , Michael Clarkson , and Andrew C. Myers . Polyglot: An extensible compiler framework for Java. In G\u00f6rel Hedin, editor , 12th International Conference on Compiler Construction (CC 2003 ), number 2622 in Lecture Notes in Computer Science, pages 128--152, Warsaw, Poland , April 2003 . Springer-Verlag. Nathaniel Nystrom, Michael Clarkson, and Andrew C. Myers. Polyglot: An extensible compiler framework for Java. In G\u00f6rel Hedin, editor, 12th International Conference on Compiler Construction (CC 2003), number 2622 in Lecture Notes in Computer Science, pages 128--152, Warsaw, Poland, April 2003. Springer-Verlag."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449800"},{"key":"e_1_3_2_1_37_1","volume-title":"Burak Emir, Sean McDirmid, St\u00e9phane Micheloud, Nikolay Mihaylov, Michel Schinz, Erik Stenman, Lex Spoon, and Matthias Zenger. An overview of the Scala programming language","author":"Odersky Martin","year":"2006","unstructured":"Martin Odersky , Philippe Altherr , Vincent Cremet , Iulian Dragos Gilles Dubochet , Burak Emir, Sean McDirmid, St\u00e9phane Micheloud, Nikolay Mihaylov, Michel Schinz, Erik Stenman, Lex Spoon, and Matthias Zenger. An overview of the Scala programming language , second edition. Technical report, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL) , 2006 . Martin Odersky, Philippe Altherr, Vincent Cremet, Iulian Dragos Gilles Dubochet, Burak Emir, Sean McDirmid, St\u00e9phane Micheloud, Nikolay Mihaylov, Michel Schinz, Erik Stenman, Lex Spoon, and Matthias Zenger. An overview of the Scala programming language, second edition. Technical report, \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (EPFL), 2006."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.660187"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.876288"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190216.1190264"},{"key":"e_1_3_2_1_41_1","volume-title":"The X10 language specification. Technical report","author":"Vijay Saraswat","year":"2008","unstructured":"Vijay Saraswat et al. The X10 language specification. Technical report , IBM T.J. Watson Research Center , 2008 . Vijay Saraswat et al. The X10 language specification. Technical report, IBM T.J. Watson Research Center, 2008."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45070-2_12"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4613-9575-1","volume-title":"Programming with sets","author":"Schwartz J. T.","year":"1986","unstructured":"J. T. Schwartz , R. B. Dewar , E. Schonberg , and E. Dubinsky . Programming with sets ; an introduction to SETL. Springer-Verlag , New York , 1986 . J. T. Schwartz, R. B. Dewar, E. Schonberg, and E. Dubinsky. Programming with sets; an introduction to SETL. Springer-Verlag, New York, 1986."},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73589-2_2"},{"key":"e_1_3_2_1_45_1","first-page":"81","volume-title":"In Scheme and Functional Programming Workshop","author":"Siek Jeremy G.","year":"2006","unstructured":"Jeremy G. Siek . Gradual typing for functional languages . In In Scheme and Functional Programming Workshop , pages 81 -- 92 , 2006 . Jeremy G. Siek. Gradual typing for functional languages. In In Scheme and Functional Programming Workshop, pages 81--92, 2006."},{"key":"e_1_3_2_1_46_1","volume-title":"Revised 6 report on the algorithmic language Scheme","author":"Sperber M.","year":"2007","unstructured":"M. Sperber , R.K. Dybvig , M. Flatt , A. Van Straaten , R. Kelsey , W. Clinger , and J. Rees . Revised 6 report on the algorithmic language Scheme , 2007 . M. Sperber, R.K. Dybvig, M. Flatt, A. Van Straaten, R. Kelsey, W. Clinger, and J. Rees. Revised 6 report on the algorithmic language Scheme, 2007."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_6"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/154766.155373"},{"key":"e_1_3_2_1_49_1","first-page":"88","volume-title":"Theory and in Practice. In Proceedings of FTfJP","author":"Strnisa Rok","year":"2008","unstructured":"Rok Strnisa . Fixing the Java Module System , in Theory and in Practice. In Proceedings of FTfJP , pages 88 -- 99 . Radboud University , July 2008 . Rok Strnisa. Fixing the Java Module System, in Theory and in Practice. In Proceedings of FTfJP, pages 88--99. Radboud University, July 2008."},{"key":"e_1_3_2_1_50_1","volume-title":"Core Java J2SE 5.0","year":"2005","unstructured":"Sun. Core Java J2SE 5.0 . Sun Microsystems Inc ., http:\/\/java.sun.com\/j2se\/1.5.0\/, 2005 . Sun. Core Java J2SE 5.0. Sun Microsystems Inc., http:\/\/java.sun.com\/j2se\/1.5.0\/, 2005."},{"key":"e_1_3_2_1_51_1","unstructured":"Sun Microsystems Inc. JSR-277: Java#8482; Module System. http:\/\/jcp.org\/en\/jsr\/detail?id=277 October 2006. Early Draft.  Sun Microsystems Inc. JSR-277: Java#8482; Module System. http:\/\/jcp.org\/en\/jsr\/detail?id=277 October 2006. Early Draft."},{"key":"e_1_3_2_1_52_1","unstructured":"Sun Microsystems Inc. JSR-294: Improved Modularity Support in the Java#8482; Programming Language. http:\/\/jcp.org\/en\/jsr\/detail?id=294 2007.  Sun Microsystems Inc. JSR-294: Improved Modularity Support in the Java#8482; Programming Language. http:\/\/jcp.org\/en\/jsr\/detail?id=294 2007."},{"key":"e_1_3_2_1_53_1","volume-title":"August","author":"Syme Don","year":"2006","unstructured":"Don Syme . An upcoming experimental feature: Active patterns in F# , August 2006 . http:\/\/blogs.msdn.com\/dsyme\/archive\/2006\/08\/16\/activepatterns.aspx. Don Syme. An upcoming experimental feature: Active patterns in F#, August 2006. http:\/\/blogs.msdn.com\/dsyme\/archive\/2006\/08\/16\/activepatterns.aspx."},{"key":"e_1_3_2_1_54_1","volume-title":"Programming Ruby: the pragmatic programmer's guide. The Pragmatic Programmers","author":"Thomas David","year":"2005","unstructured":"David Thomas and Andrew Hunt . Programming Ruby: the pragmatic programmer's guide. The Pragmatic Programmers , LLC. , Raleigh, NC, USA , 2 edition, August 2005 . David Thomas and Andrew Hunt. Programming Ruby: the pragmatic programmer's guide. The Pragmatic Programmers, LLC., Raleigh, NC, USA, 2 edition, August 2005."},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176617.1176755"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328486"},{"key":"e_1_3_2_1_57_1","volume-title":"Drake Jr.","author":"van Rossum Guido","year":"2006","unstructured":"Guido van Rossum and Fred L . Drake Jr. , editors. The Python Language Reference Manual (version 2.5). Network Theory Ltd , 2006 . Guido van Rossum and Fred L. Drake Jr., editors. The Python Language Reference Manual (version 2.5). Network Theory Ltd, 2006."},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/41625.41653"},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328408.1328424"}],"event":{"name":"OOPSLA09: ACM SIGPLAN Object Oriented Programming Systems and Applications Conference","location":"Orlando Florida USA","acronym":"OOPSLA09","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1640089.1640098","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1640089.1640098","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:17:55Z","timestamp":1750234675000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1640089.1640098"}},"subtitle":["robust, concurrent, extensible scripting on the JVM"],"short-title":[],"issued":{"date-parts":[[2009,10,25]]},"references-count":58,"alternative-id":["10.1145\/1640089.1640098","10.1145\/1640089"],"URL":"https:\/\/doi.org\/10.1145\/1640089.1640098","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/1639949.1640098","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2009,10,25]]},"assertion":[{"value":"2009-10-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}