{"id":"https://openalex.org/W2310261357","doi":"https://doi.org/10.1145/2892664.2892669","title":"A library-based approach to context-dependent computation with reactive values: suppressing reactions of context-dependent functions using dynamic binding","display_name":"A library-based approach to context-dependent computation with reactive values: suppressing reactions of context-dependent functions using dynamic binding","publication_year":2016,"publication_date":"2016-03-14","ids":{"openalex":"https://openalex.org/W2310261357","doi":"https://doi.org/10.1145/2892664.2892669","mag":"2310261357"},"language":"en","primary_location":{"id":"doi:10.1145/2892664.2892669","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892664.2892669","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/A5071500475","display_name":"Hiroaki Inoue","orcid":"https://orcid.org/0000-0002-3580-7125"},"institutions":[{"id":"https://openalex.org/I22299242","display_name":"Kyoto University","ror":"https://ror.org/02kpeqv85","country_code":"JP","type":"education","lineage":["https://openalex.org/I22299242"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Hiroaki Inoue","raw_affiliation_strings":["Kyoto University, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Kyoto University, Japan","institution_ids":["https://openalex.org/I22299242"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5077485499","display_name":"Atsushi Igarashi","orcid":"https://orcid.org/0000-0002-5143-9764"},"institutions":[{"id":"https://openalex.org/I22299242","display_name":"Kyoto University","ror":"https://ror.org/02kpeqv85","country_code":"JP","type":"education","lineage":["https://openalex.org/I22299242"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Atsushi Igarashi","raw_affiliation_strings":["Kyoto University, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Kyoto University, Japan","institution_ids":["https://openalex.org/I22299242"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.7666,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.88859188,"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":"50","last_page":"54"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.9984999895095825,"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/computer-science","display_name":"Computer science","score":0.7457245588302612},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.6811356544494629},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.5862073302268982},{"id":"https://openalex.org/keywords/modularity","display_name":"Modularity (biology)","score":0.5522225499153137},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5017704963684082},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.44818946719169617},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.417039155960083},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.32321321964263916},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.17206192016601562}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7457245588302612},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.6811356544494629},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.5862073302268982},{"id":"https://openalex.org/C2779478453","wikidata":"https://www.wikidata.org/wiki/Q6889748","display_name":"Modularity (biology)","level":2,"score":0.5522225499153137},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5017704963684082},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.44818946719169617},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.417039155960083},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.32321321964263916},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.17206192016601562},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2892664.2892669","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892664.2892669","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":19,"referenced_works":["https://openalex.org/W81744109","https://openalex.org/W175922506","https://openalex.org/W1635671087","https://openalex.org/W1649645444","https://openalex.org/W1992443356","https://openalex.org/W2000399282","https://openalex.org/W2004791319","https://openalex.org/W2045191279","https://openalex.org/W2060640309","https://openalex.org/W2079512738","https://openalex.org/W2087175184","https://openalex.org/W2097785504","https://openalex.org/W2098983494","https://openalex.org/W2111576674","https://openalex.org/W2133051483","https://openalex.org/W2150275961","https://openalex.org/W2156011560","https://openalex.org/W2168485266","https://openalex.org/W2293168108"],"related_works":["https://openalex.org/W2022585506","https://openalex.org/W1177194838","https://openalex.org/W1567814706","https://openalex.org/W4251098644","https://openalex.org/W3110364983","https://openalex.org/W1990570374","https://openalex.org/W2162076253","https://openalex.org/W2153841912","https://openalex.org/W2504620268","https://openalex.org/W4296878212"],"abstract_inverted_index":{"Language":[0],"constructs":[1,67],"for":[2,101],"programming":[3],"context-dependent":[4,37,102],"computation":[5],"are":[6,75,114],"required":[7],"in":[8,117],"recent":[9],"software":[10],"development,":[11],"where":[12],"context":[13,61,138,143],"information":[14,62],"influences":[15],"program":[16],"behavior,":[17],"whose":[18],"description":[19],"is":[20,130],"often":[21],"scattered":[22],"around":[23],"several":[24],"modules":[25],"as":[26,110],"conditional":[27],"expressions.":[28],"The":[29],"Context-Oriented":[30],"Programming":[31],"(COP)":[32],"community":[33],"has":[34],"revealed":[35],"that":[36,127],"computations":[38],"should":[39,49,59],"be":[40,50],"modularized":[41],"into":[42,63],"partially":[43],"defined":[44],"methods,":[45],"those":[46],"partial":[47],"methods":[48],"adaptable":[51],"at":[52],"run-time,":[53],"and":[54,90],"a":[55,71,98],"method":[56],"dispatching":[57],"mechanism":[58],"take":[60],"account.":[64],"Such":[65],"language":[66],"enhance":[68],"modularity":[69],"of":[70,108,120],"program.":[72],"Although":[73],"contexts":[74,89,109],"usually":[76],"reactively":[77],"changeable,":[78],"many":[79],"existing":[80],"COP":[81],"approaches":[82],"do":[83],"not":[84],"consider":[85],"the":[86,106,118],"relation":[87],"between":[88],"reactive":[91,111,135],"information.":[92],"In":[93],"this":[94],"paper,":[95],"we":[96],"develop":[97],"Scala":[99],"library":[100],"computations,":[103],"based":[104],"on":[105],"idea":[107],"values,":[112],"which":[113],"well":[115],"studied":[116],"field":[119],"Functional":[121],"Reactive":[122],"Programming.":[123],"We":[124],"also":[125],"show":[126],"dynamic":[128],"binding":[129],"useful":[131],"to":[132,145],"control":[133],"how":[134],"values":[136],"influence":[137],"dependent":[139],"functions;":[140],"it":[141],"provides":[142],"caching":[144],"prevent":[146],"unexpected":[147],"reactions.":[148]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2017,"cited_by_count":3}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
