{"id":"https://openalex.org/W1964318686","doi":"https://doi.org/10.1145/1640134.1640143","title":"Directing JavaScript with arrows","display_name":"Directing JavaScript with arrows","publication_year":2009,"publication_date":"2009-10-26","ids":{"openalex":"https://openalex.org/W1964318686","doi":"https://doi.org/10.1145/1640134.1640143","mag":"1964318686"},"language":"en","primary_location":{"id":"doi:10.1145/1640134.1640143","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1640134.1640143","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 5th symposium on Dynamic languages","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/A5026641861","display_name":"Yit Phang Khoo","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Yit Phang Khoo","raw_affiliation_strings":["University of Maryland, College Park, MD, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5046625836","display_name":"Michael Hicks","orcid":"https://orcid.org/0000-0002-2759-9223"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Michael Hicks","raw_affiliation_strings":["University of Maryland, College Park, MD, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038702707","display_name":"Jeffrey S. Foster","orcid":"https://orcid.org/0000-0001-8043-1166"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jeffrey S. Foster","raw_affiliation_strings":["University of Maryland, College Park, MD, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5049652762","display_name":"Vibha Sazawal","orcid":"https://orcid.org/0000-0002-8159-2022"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Vibha Sazawal","raw_affiliation_strings":["University of Maryland, College Park, MD, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD, USA","institution_ids":["https://openalex.org/I66946132"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5026641861"],"corresponding_institution_ids":["https://openalex.org/I66946132"],"apc_list":null,"apc_paid":null,"fwci":1.5829,"has_fulltext":false,"cited_by_count":16,"citation_normalized_percentile":{"value":0.83186976,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"49","last_page":"58"},"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.9994000196456909,"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.9994000196456909,"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.9965999722480774,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9965999722480774,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/computer-science","display_name":"Computer science","score":0.8556749820709229},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.8442560434341431},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7889448404312134},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.589596152305603},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.48284345865249634},{"id":"https://openalex.org/keywords/unobtrusive-javascript","display_name":"Unobtrusive JavaScript","score":0.47260361909866333},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.472383975982666},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.45222029089927673},{"id":"https://openalex.org/keywords/animation","display_name":"Animation","score":0.4433257579803467},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4120291769504547},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3453342318534851},{"id":"https://openalex.org/keywords/rich-internet-application","display_name":"Rich Internet application","score":0.20663082599639893},{"id":"https://openalex.org/keywords/computer-graphics","display_name":"Computer graphics (images)","score":0.18532249331474304}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8556749820709229},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.8442560434341431},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7889448404312134},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.589596152305603},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.48284345865249634},{"id":"https://openalex.org/C198240166","wikidata":"https://www.wikidata.org/wiki/Q2298909","display_name":"Unobtrusive JavaScript","level":4,"score":0.47260361909866333},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.472383975982666},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.45222029089927673},{"id":"https://openalex.org/C502989409","wikidata":"https://www.wikidata.org/wiki/Q11425","display_name":"Animation","level":2,"score":0.4433257579803467},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4120291769504547},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3453342318534851},{"id":"https://openalex.org/C103048170","wikidata":"https://www.wikidata.org/wiki/Q725485","display_name":"Rich Internet application","level":3,"score":0.20663082599639893},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.18532249331474304},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/1640134.1640143","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1640134.1640143","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 5th symposium on Dynamic languages","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.145.4674","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.145.4674","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.umd.edu/~jfoster/papers/icfp2008-poster.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.182.1993","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.182.1993","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.umd.edu/%7Ejfoster/papers/dls09-arrows.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.188.772","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.188.772","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.umd.edu/%7Emwh/papers/jsarrows.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1511203305","https://openalex.org/W1521891776","https://openalex.org/W1563382076","https://openalex.org/W1580664042","https://openalex.org/W1758438229","https://openalex.org/W1966458383","https://openalex.org/W1976194690","https://openalex.org/W2031491316","https://openalex.org/W2037984920","https://openalex.org/W2064138295","https://openalex.org/W2089589666","https://openalex.org/W2161433768","https://openalex.org/W2167756215","https://openalex.org/W2171267342","https://openalex.org/W4252120627","https://openalex.org/W4253360640","https://openalex.org/W4285719527","https://openalex.org/W6634775351"],"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/W2737557375","https://openalex.org/W648161522","https://openalex.org/W2937855189","https://openalex.org/W605139400","https://openalex.org/W2502475670"],"abstract_inverted_index":{"JavaScript":[0,89,97],"programmers":[1],"make":[2],"extensive":[3],"use":[4,103],"of":[5,41,62,77,109],"event-driven":[6],"programming":[7],"to":[8,17,25,30,47,53,94,102,105],"help":[9],"build":[10],"responsive":[11],"web":[12],"applications.":[13],"However,":[14],"standard":[15],"approaches":[16],"sequencing":[18],"events":[19],"are":[20,43],"messy,":[21],"and":[22,32,64,117,135],"often":[23],"lead":[24],"code":[26],"that":[27,37,91,115],"is":[28],"difficult":[29],"understand":[31],"maintain.":[33],"We":[34,99,119],"have":[35],"found":[36],"arrows,":[38],"a":[39,87,107,132,136],"generalization":[40],"monads,":[42],"an":[44],"elegant":[45],"solution":[46],"this":[48,82],"problem.":[49],"Arrows":[50],"allow":[51],"us":[52],"easily":[54],"write":[55],"asynchronous":[56,78],"programs":[57],"in":[58,68],"small,":[59],"modular":[60],"units":[61],"code,":[63],"flexibly":[65],"compose":[66],"them":[67],"many":[69],"different":[70],"ways,":[71],"while":[72],"nicely":[73],"abstracting":[74],"the":[75,95],"details":[76],"program":[79],"composition.":[80],"In":[81],"paper,":[83],"we":[84],"present":[85],"Arrowlets,":[86],"new":[88],"library":[90],"offers":[92],"arrows":[93],"everyday":[96],"programmer.":[98],"show":[100],"how":[101,122],"Arrowlets":[104,123],"construct":[106],"variety":[108],"state":[110,113],"machines,":[111],"including":[112],"machines":[114],"branch":[116],"loop.":[118],"also":[120],"demonstrate":[121],"separate":[124],"computation":[125],"from":[126],"composition":[127],"with":[128],"examples":[129],"such":[130],"as":[131],"drag-and-drop":[133],"handler":[134],"bubblesort":[137],"animation.":[138]},"counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
