{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,3]],"date-time":"2025-12-03T17:41:11Z","timestamp":1764783671543,"version":"3.40.3"},"publisher-location":"Cham","reference-count":18,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319082448"},{"type":"electronic","value":"9783319082455"}],"license":[{"start":{"date-parts":[[2014,1,1]],"date-time":"2014-01-01T00:00:00Z","timestamp":1388534400000},"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":[[2014]]},"DOI":"10.1007\/978-3-319-08245-5_18","type":"book-chapter","created":{"date-parts":[[2014,9,17]],"date-time":"2014-09-17T16:29:28Z","timestamp":1410971368000},"page":"308-321","source":"Crossref","is-referenced-by-count":1,"title":["Using Path-Dependent Types to Build Type Safe JavaScript Foreign Function Interfaces"],"prefix":"10.1007","author":[{"given":"Julien","family":"Richard-Foy","sequence":"first","affiliation":[]},{"given":"Olivier","family":"Barais","sequence":"additional","affiliation":[]},{"given":"Jean-Marc","family":"J\u00e9z\u00e9quel","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"issue":"05","key":"18_CR1","doi-asserted-by":"publisher","first-page":"552","DOI":"10.1017\/S095679681300018X","volume":"23","author":"E. Brady","year":"2013","unstructured":"Brady, E.: Idris, a general-purpose dependently typed programming language: Design and implementation. Journal of Functional Programming\u00a023(05), 552\u2013593 (2013)","journal-title":"Journal of Functional Programming"},{"key":"18_CR2","doi-asserted-by":"crossref","unstructured":"Cannasse, N.: Using haxe. The Essential Guide to Open Source Flash Development, 227\u2013244 (2008)","DOI":"10.1007\/978-1-4302-0994-2_9"},{"issue":"10","key":"18_CR3","doi-asserted-by":"publisher","first-page":"587","DOI":"10.1145\/2398857.2384659","volume":"47","author":"R. Chugh","year":"2012","unstructured":"Chugh, R., Herman, D., Jhala, R.: Dependent types for javascript. SIGPLAN Not.\u00a047(10), 587\u2013606 (2012)","journal-title":"SIGPLAN Not."},{"key":"18_CR4","unstructured":"W3C-World Wide\u00a0Web Consortium et al.: Document object model (dom) level 3 core specification. W3C recommendation (2004)"},{"key":"18_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/11821069_1","volume-title":"Mathematical Foundations of Computer Science 2006","author":"V. Cremet","year":"2006","unstructured":"Cremet, V., Garillot, F., Lenglet, S., Odersky, M.: A core calculus for scala type checking. In: Kr\u00e1lovi\u010d, R., Urzyczyn, P. (eds.) MFCS 2006. LNCS, vol.\u00a04162, pp. 1\u201323. Springer, Heidelberg (2006)"},{"key":"18_CR6","unstructured":"Czaplicki, E.: Elm: Concurrent frp for functional guis (2012)"},{"key":"18_CR7","unstructured":"Doeraene, S.: Scala.js: Type-Directed Interoperability with Dynamically Typed Languages. Technical report (2013)"},{"key":"18_CR8","unstructured":"Fenton, S.: Typescript for javascript programmers (2012)"},{"key":"18_CR9","unstructured":"Griffith, R.: The dart programming language for non-programmers-overview (2011)"},{"key":"18_CR10","doi-asserted-by":"crossref","unstructured":"Kereki, F.: Web 2.0 development with the Google web toolkit. Linux J., 2009(178) (February 2009)","DOI":"10.1016\/S1353-4858(09)70047-9"},{"key":"18_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"409","DOI":"10.1007\/978-3-642-31057-7_19","volume-title":"ECOOP 2012 \u2013 Object-Oriented Programming","author":"G. Kossakowski","year":"2012","unstructured":"Kossakowski, G., Amin, N., Rompf, T., Odersky, M.: JavaScript as an embedded DSL. In: Noble, J. (ed.) ECOOP 2012. LNCS, vol.\u00a07313, pp. 409\u2013434. Springer, Heidelberg (2012)"},{"key":"18_CR12","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1145\/331963.331977","volume":"35","author":"D. Leijen","year":"1999","unstructured":"Leijen, D., Meijer, E.: Domain specific embedded compilers. ACM SIGPLAN Notices\u00a035, 109\u2013122 (1999)","journal-title":"ACM SIGPLAN Notices"},{"key":"18_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"79","DOI":"10.1007\/978-3-642-39038-8_4","volume-title":"ECOOP 2013 \u2013 Object-Oriented Programming","author":"B.S. Lerner","year":"2013","unstructured":"Lerner, B.S., Elberty, L., Li, J., Krishnamurthi, S.: Combining Form and Function: Static Types for JQuery Programs. In: Castagna, G. (ed.) ECOOP 2013. LNCS, vol.\u00a07920, pp. 79\u2013103. Springer, Heidelberg (2013)"},{"key":"18_CR14","doi-asserted-by":"crossref","unstructured":"Liberty, J., Betts, P.: Reactive extensions for javascript. In: Programming Reactive Extensions and LINQ, pp. 111\u2013124. Springer (2011)","DOI":"10.1007\/978-1-4302-3748-8_7"},{"key":"18_CR15","unstructured":"Meijer, E., Drayton, P.: Static typing where possible, dynamic typing when needed: The end of the cold war between programming languages"},{"key":"18_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"201","DOI":"10.1007\/978-3-540-45070-2_10","volume-title":"ECOOP 2003 - Object-Oriented Programming","author":"M. Odersky","year":"2003","unstructured":"Odersky, M., Cremet, V., R\u00f6ckl, C., Zenger, M.: A nominal theory of objects with dependent types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol.\u00a02743, pp. 201\u2013224. Springer, Heidelberg (2003)"},{"key":"18_CR17","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1145\/1103845.1094815","volume":"40","author":"M. Odersky","year":"2005","unstructured":"Odersky, M., Zenger, M.: Scalable component abstractions. ACM SIGPLAN Notices\u00a040, 41\u201357 (2005)","journal-title":"ACM SIGPLAN Notices"},{"key":"18_CR18","unstructured":"Raggett, D., Le Hors, A., Jacobs, I., et al.: Html 4.01 specification. W3C Recommendation\u00a024 (1999)"}],"container-title":["Lecture Notes in Computer Science","Web Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-08245-5_18","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,7,16]],"date-time":"2023-07-16T16:29:36Z","timestamp":1689524976000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-08245-5_18"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014]]},"ISBN":["9783319082448","9783319082455"],"references-count":18,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-08245-5_18","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2014]]}}}