{"id":"https://openalex.org/W2298290417","doi":"https://doi.org/10.1145/2892664.2892675","title":"Using continuations and aspects to tame asynchronous programming on the web","display_name":"Using continuations and aspects to tame asynchronous programming on the web","publication_year":2016,"publication_date":"2016-03-14","ids":{"openalex":"https://openalex.org/W2298290417","doi":"https://doi.org/10.1145/2892664.2892675","mag":"2298290417"},"language":"en","primary_location":{"id":"doi:10.1145/2892664.2892675","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892664.2892675","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion Proceedings of the 15th International Conference on Modularity","raw_type":"proceedings-article"},"type":"article","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/A5037617485","display_name":"Paul Leger","orcid":"https://orcid.org/0000-0003-0969-5139"},"institutions":[{"id":"https://openalex.org/I2802166871","display_name":"Universidad Cat\u00f3lica del Norte","ror":"https://ror.org/02akpm128","country_code":"CL","type":"education","lineage":["https://openalex.org/I2802166871"]}],"countries":["CL"],"is_corresponding":false,"raw_author_name":"Paul Leger","raw_affiliation_strings":["Universidad Cat\u00f3lica del Norte, Chile"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universidad Cat\u00f3lica del Norte, Chile","institution_ids":["https://openalex.org/I2802166871"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047716888","display_name":"Hiroaki Fukuda","orcid":"https://orcid.org/0000-0003-1228-3186"},"institutions":[{"id":"https://openalex.org/I171481255","display_name":"Shibaura Institute of Technology","ror":"https://ror.org/020wjcq07","country_code":"JP","type":"education","lineage":["https://openalex.org/I171481255"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Hiroaki Fukuda","raw_affiliation_strings":["Shibaura Institute of Technology, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Shibaura Institute of Technology, Japan","institution_ids":["https://openalex.org/I171481255"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.6409,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.65796178,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"79","last_page":"82"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9958000183105469,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9958000183105469,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9923999905586243,"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/T10933","display_name":"Real-Time Systems Scheduling","score":0.9851999878883362,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/callback","display_name":"Callback","score":0.951546847820282},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8830375671386719},{"id":"https://openalex.org/keywords/sync","display_name":"sync","score":0.8348510265350342},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.8023518919944763},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7152212262153625},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.6158475875854492},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.5061585307121277},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.4786837697029114},{"id":"https://openalex.org/keywords/web-application","display_name":"Web application","score":0.4776267409324646},{"id":"https://openalex.org/keywords/unobtrusive-javascript","display_name":"Unobtrusive JavaScript","score":0.4346757233142853},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4176158905029297},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.37379613518714905},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3300284445285797},{"id":"https://openalex.org/keywords/rich-internet-application","display_name":"Rich Internet application","score":0.20665037631988525},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.17474272847175598},{"id":"https://openalex.org/keywords/frame","display_name":"Frame (networking)","score":0.16175460815429688}],"concepts":[{"id":"https://openalex.org/C204495577","wikidata":"https://www.wikidata.org/wiki/Q1205349","display_name":"Callback","level":2,"score":0.951546847820282},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8830375671386719},{"id":"https://openalex.org/C3913047","wikidata":"https://www.wikidata.org/wiki/Q1956265","display_name":"sync","level":3,"score":0.8348510265350342},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.8023518919944763},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7152212262153625},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.6158475875854492},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5061585307121277},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.4786837697029114},{"id":"https://openalex.org/C118643609","wikidata":"https://www.wikidata.org/wiki/Q189210","display_name":"Web application","level":2,"score":0.4776267409324646},{"id":"https://openalex.org/C198240166","wikidata":"https://www.wikidata.org/wiki/Q2298909","display_name":"Unobtrusive JavaScript","level":4,"score":0.4346757233142853},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4176158905029297},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.37379613518714905},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3300284445285797},{"id":"https://openalex.org/C103048170","wikidata":"https://www.wikidata.org/wiki/Q725485","display_name":"Rich Internet application","level":3,"score":0.20665037631988525},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.17474272847175598},{"id":"https://openalex.org/C126042441","wikidata":"https://www.wikidata.org/wiki/Q1324888","display_name":"Frame (networking)","level":2,"score":0.16175460815429688},{"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/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2892664.2892675","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892664.2892675","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion Proceedings of the 15th International Conference on Modularity","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":5,"referenced_works":["https://openalex.org/W1977710006","https://openalex.org/W1979240050","https://openalex.org/W2029414465","https://openalex.org/W2075832738","https://openalex.org/W6657725327"],"related_works":["https://openalex.org/W650647575","https://openalex.org/W2472584751","https://openalex.org/W2476571673","https://openalex.org/W597036300","https://openalex.org/W827014118","https://openalex.org/W2737171366","https://openalex.org/W4206210324","https://openalex.org/W2615381372","https://openalex.org/W2488213809","https://openalex.org/W4284698742"],"abstract_inverted_index":{"In":[0,103],"asynchronous":[1,65,118],"programming":[2],"of":[3,29,67],"JavaScript,":[4],"callbacks":[5,19],"are":[6],"widely":[7],"used":[8],"to":[9,24,60,63,109,125],"develop":[10],"rich":[11],"interactive":[12],"Web":[13],"applications.":[14],"However,":[15],"the":[16,45,112,117],"dependency":[17],"among":[18],"can":[20],"make":[21],"it":[22,86],"difficult":[23],"understand":[25],"and":[26,58,83,91,122],"maintain":[27],"pieces":[28,66],"code,":[30],"which":[31],"will":[32],"mix":[33],"concerns":[34],"eventually.":[35],"Unfortunately,":[36],"current":[37,77,113],"solutions":[38],"for":[39],"JavaScript":[40,53],"do":[41],"not":[42,88],"fully":[43],"address":[44],"aforementioned":[46],"issue.":[47],"This":[48],"paper":[49],"presents":[50],"Sync/cc,":[51],"a":[52,70,129],"library":[54],"that":[55],"uses":[56,106],"continuations":[57,108,127],"aspects":[59,124],"allow":[61],"developers":[62],"write":[64],"code":[68,94],"in":[69,128],"synchronous":[71],"style,":[72],"preventing":[73],"callback":[74],"dependencies.":[75],"Unlike":[76],"solutions,":[78],"Sync/cc":[79,105],"is":[80,120],"modular,":[81],"customizable,":[82],"succinct":[84],"because":[85],"does":[87],"require":[89],"special":[90],"scattered":[92],"keywords,":[93],"refactoring,":[95],"or":[96],"adding":[97],"ad-hoc":[98],"implementations":[99],"like":[100],"state":[101],"machines.":[102],"practice,":[104],"a)":[107],"only":[110],"suspend":[111],"handler":[114],"execution":[115],"until":[116],"operation":[119],"resolved,":[121],"b)":[123],"apply":[126],"non-intrusive":[130],"way.":[131]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2017,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
