{"id":"https://openalex.org/W2125897312","doi":"https://doi.org/10.1145/2508168.2508172","title":"Whalesong","display_name":"Whalesong","publication_year":2013,"publication_date":"2013-10-23","ids":{"openalex":"https://openalex.org/W2125897312","doi":"https://doi.org/10.1145/2508168.2508172","mag":"2125897312"},"language":"en","primary_location":{"id":"doi:10.1145/2508168.2508172","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2508168.2508172","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th symposium on Dynamic languages","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5005762971","display_name":"Danny Yoo","orcid":null},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Danny Yoo","raw_affiliation_strings":["WPI, University of Utah, none, RI, USA","WPI, University of Utah, none, RI, USA#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"WPI, University of Utah, none, RI, USA","institution_ids":["https://openalex.org/I223532165"]},{"raw_affiliation_string":"WPI, University of Utah, none, RI, USA#TAB#","institution_ids":["https://openalex.org/I223532165"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024394821","display_name":"Shriram Krishnamurthi","orcid":"https://orcid.org/0000-0001-5184-1975"},"institutions":[{"id":"https://openalex.org/I27804330","display_name":"Brown University","ror":"https://ror.org/05gq02987","country_code":"US","type":"education","lineage":["https://openalex.org/I27804330"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Shriram Krishnamurthi","raw_affiliation_strings":["Brown University, Providence, RI, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Brown University, Providence, RI, USA","institution_ids":["https://openalex.org/I27804330"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.2881,"has_fulltext":false,"cited_by_count":18,"citation_normalized_percentile":{"value":0.89947648,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"97","last_page":"108"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9955000281333923,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.9021080732345581},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8779525756835938},{"id":"https://openalex.org/keywords/unobtrusive-javascript","display_name":"Unobtrusive JavaScript","score":0.8304092288017273},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7693883180618286},{"id":"https://openalex.org/keywords/racket","display_name":"Racket","score":0.6739597320556641},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6530007123947144},{"id":"https://openalex.org/keywords/event","display_name":"Event (particle physics)","score":0.5375423431396484},{"id":"https://openalex.org/keywords/web-application","display_name":"Web application","score":0.49676185846328735},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4955812692642212},{"id":"https://openalex.org/keywords/rich-internet-application","display_name":"Rich Internet application","score":0.4561554193496704},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.43879929184913635},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.4303923547267914},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.4109843671321869},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.2268252968788147},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.22567299008369446}],"concepts":[{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.9021080732345581},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8779525756835938},{"id":"https://openalex.org/C198240166","wikidata":"https://www.wikidata.org/wiki/Q2298909","display_name":"Unobtrusive JavaScript","level":4,"score":0.8304092288017273},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7693883180618286},{"id":"https://openalex.org/C2778707667","wikidata":"https://www.wikidata.org/wiki/Q1254148","display_name":"Racket","level":3,"score":0.6739597320556641},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6530007123947144},{"id":"https://openalex.org/C2779662365","wikidata":"https://www.wikidata.org/wiki/Q5416694","display_name":"Event (particle physics)","level":2,"score":0.5375423431396484},{"id":"https://openalex.org/C118643609","wikidata":"https://www.wikidata.org/wiki/Q189210","display_name":"Web application","level":2,"score":0.49676185846328735},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4955812692642212},{"id":"https://openalex.org/C103048170","wikidata":"https://www.wikidata.org/wiki/Q725485","display_name":"Rich Internet application","level":3,"score":0.4561554193496704},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.43879929184913635},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.4303923547267914},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.4109843671321869},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.2268252968788147},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.22567299008369446},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C24890656","wikidata":"https://www.wikidata.org/wiki/Q82811","display_name":"Acoustics","level":1,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C65655974","wikidata":"https://www.wikidata.org/wiki/Q14867674","display_name":"Swing","level":2,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2508168.2508172","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2508168.2508172","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th symposium on Dynamic languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W3579263","https://openalex.org/W1597756446","https://openalex.org/W1986991427","https://openalex.org/W1993335798","https://openalex.org/W1998561708","https://openalex.org/W2022114508","https://openalex.org/W2041183503","https://openalex.org/W2052937395","https://openalex.org/W2059518671","https://openalex.org/W2076004629","https://openalex.org/W2083828778","https://openalex.org/W2085050771","https://openalex.org/W2086833941","https://openalex.org/W2089674328","https://openalex.org/W2116918412","https://openalex.org/W2171267342","https://openalex.org/W2339802588","https://openalex.org/W2620584562","https://openalex.org/W2912949875","https://openalex.org/W4214487305","https://openalex.org/W4253360640","https://openalex.org/W6600148137","https://openalex.org/W6738725336"],"related_works":["https://openalex.org/W2029649561","https://openalex.org/W22516982","https://openalex.org/W2589301260","https://openalex.org/W2108416936","https://openalex.org/W4244528768","https://openalex.org/W3013655058","https://openalex.org/W3005439998","https://openalex.org/W2370993421","https://openalex.org/W4229928981","https://openalex.org/W2125897312"],"abstract_inverted_index":{"JavaScript":[0,38,62],"is":[1],"the":[2,5,46,55,71,87],"language":[3],"of":[4,24],"ubiquitous":[6],"Web,":[7],"but":[8],"it":[9],"only":[10],"poorly":[11],"supports":[12],"event-driven":[13,80],"functional":[14,79],"programs":[15],"due":[16],"to":[17,54,64,77],"its":[18],"single-threaded,":[19],"asynchronous":[20],"nature":[21],"and":[22,57],"lack":[23],"rich":[25],"control":[26],"flow":[27],"operators.":[28],"We":[29,44,83],"present":[30],"Whalesong,":[31],"a":[32],"compiler":[33],"from":[34],"Racket":[35],"that":[36,40],"generates":[37],"code":[39],"masks":[41],"these":[42],"problems.":[43],"discuss":[45,86],"implementation":[47,88],"strategy":[48],"using":[49],"delimited":[50],"continuations,":[51],"an":[52,58],"interface":[53],"DOM,":[56],"FFI":[59],"for":[60],"adapting":[61],"libraries":[63],"add":[65],"new":[66],"platform-dependent":[67],"reactive":[68],"features.":[69],"In":[70],"process,":[72],"we":[73],"also":[74,84],"describe":[75],"extensions":[76],"Racket's":[78],"programming":[81],"model.":[82],"briefly":[85],"details.":[89]},"counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":3}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2016-06-24T00:00:00"}
