{"id":"https://openalex.org/W2092546644","doi":"https://doi.org/10.1145/2784731.2784750","title":"Applicative bidirectional programming with lenses","display_name":"Applicative bidirectional programming with lenses","publication_year":2015,"publication_date":"2015-08-26","ids":{"openalex":"https://openalex.org/W2092546644","doi":"https://doi.org/10.1145/2784731.2784750","mag":"2092546644"},"language":"en","primary_location":{"id":"doi:10.1145/2784731.2784750","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784750","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","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/A5004575068","display_name":"Kazutaka Matsuda","orcid":"https://orcid.org/0000-0002-9747-4899"},"institutions":[{"id":"https://openalex.org/I201537933","display_name":"Tohoku University","ror":"https://ror.org/01dq60k83","country_code":"JP","type":"education","lineage":["https://openalex.org/I201537933"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Kazutaka Matsuda","raw_affiliation_strings":["Tohoku University, Japan"],"affiliations":[{"raw_affiliation_string":"Tohoku University, Japan","institution_ids":["https://openalex.org/I201537933"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074307489","display_name":"Meng Wang","orcid":"https://orcid.org/0000-0001-7780-630X"},"institutions":[{"id":"https://openalex.org/I20581793","display_name":"University of Kent","ror":"https://ror.org/00xkeyj56","country_code":"GB","type":"education","lineage":["https://openalex.org/I20581793"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Meng Wang","raw_affiliation_strings":["University of Kent, UK","University of Kent (UK)"],"affiliations":[{"raw_affiliation_string":"University of Kent, UK","institution_ids":["https://openalex.org/I20581793"]},{"raw_affiliation_string":"University of Kent (UK)","institution_ids":["https://openalex.org/I20581793"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5004575068"],"corresponding_institution_ids":["https://openalex.org/I201537933"],"apc_list":null,"apc_paid":null,"fwci":6.1015,"has_fulltext":false,"cited_by_count":23,"citation_normalized_percentile":{"value":0.96160448,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"62","last_page":"74"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11986","display_name":"Scientific Computing and Data Management","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},"topics":[{"id":"https://openalex.org/T11986","display_name":"Scientific Computing and Data Management","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9973999857902527,"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/T10260","display_name":"Software Engineering Research","score":0.996999979019165,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.8131550550460815},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7379351854324341},{"id":"https://openalex.org/keywords/programming-style","display_name":"Programming style","score":0.6792135834693909},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6224205493927002},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.5272699594497681},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.410380095243454}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8131550550460815},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7379351854324341},{"id":"https://openalex.org/C2776245389","wikidata":"https://www.wikidata.org/wiki/Q962139","display_name":"Programming style","level":2,"score":0.6792135834693909},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6224205493927002},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.5272699594497681},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.410380095243454},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2784731.2784750","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784750","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:research-information.bris.ac.uk:openaire_cris_publications/5b5c4663-78d2-4b3e-8753-e1f8cc575a54","is_oa":false,"landing_page_url":"https://research-information.bris.ac.uk/en/publications/5b5c4663-78d2-4b3e-8753-e1f8cc575a54","pdf_url":null,"source":{"id":"https://openalex.org/S7407055359","display_name":"Explore Bristol Research","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Matsuda, K & Wang, M 2015, Applicative Bidirectional Programming with Lenses. in ICFP '15 Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming. Association for Computing Machinery, pp. 62-74. https://doi.org/10.1145/2784731.2784750","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:research-information.bris.ac.uk:publications/5b5c4663-78d2-4b3e-8753-e1f8cc575a54","is_oa":false,"landing_page_url":"https://hdl.handle.net/1983/5b5c4663-78d2-4b3e-8753-e1f8cc575a54","pdf_url":null,"source":{"id":"https://openalex.org/S4306400895","display_name":"Bristol Research (University of Bristol)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I36234482","host_organization_name":"University of Bristol","host_organization_lineage":["https://openalex.org/I36234482"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Matsuda, K & Wang, M 2015, Applicative Bidirectional Programming with Lenses. in ICFP '15 Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming. Association for Computing Machinery, pp. 62-74. https://doi.org/10.1145/2784731.2784750","raw_type":"contributionToPeriodical"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8072284589","display_name":null,"funder_award_id":"24700020, 25540001, 15H02681, 15K15966","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":49,"referenced_works":["https://openalex.org/W326743114","https://openalex.org/W1506770266","https://openalex.org/W1555897920","https://openalex.org/W1567793656","https://openalex.org/W1594879941","https://openalex.org/W1968796785","https://openalex.org/W1969204136","https://openalex.org/W1991542909","https://openalex.org/W2000616678","https://openalex.org/W2014868111","https://openalex.org/W2019746614","https://openalex.org/W2020513727","https://openalex.org/W2024951218","https://openalex.org/W2037471787","https://openalex.org/W2039119993","https://openalex.org/W2040293060","https://openalex.org/W2045428043","https://openalex.org/W2046832714","https://openalex.org/W2057292961","https://openalex.org/W2058338955","https://openalex.org/W2076676096","https://openalex.org/W2102549577","https://openalex.org/W2103463094","https://openalex.org/W2105427466","https://openalex.org/W2106742806","https://openalex.org/W2107280670","https://openalex.org/W2113582770","https://openalex.org/W2116435685","https://openalex.org/W2116813111","https://openalex.org/W2120713972","https://openalex.org/W2121357705","https://openalex.org/W2125146300","https://openalex.org/W2132297537","https://openalex.org/W2141789124","https://openalex.org/W2150429177","https://openalex.org/W2150789072","https://openalex.org/W2151592950","https://openalex.org/W2294683416","https://openalex.org/W2294798463","https://openalex.org/W2561675875","https://openalex.org/W2963683507","https://openalex.org/W3161449428","https://openalex.org/W4241057360","https://openalex.org/W4244238952","https://openalex.org/W4246086292","https://openalex.org/W4253929418","https://openalex.org/W4285719527","https://openalex.org/W6630206196","https://openalex.org/W6630421361"],"related_works":["https://openalex.org/W135379672","https://openalex.org/W1601811574","https://openalex.org/W2060445097","https://openalex.org/W158822900","https://openalex.org/W2339613032","https://openalex.org/W2133785292","https://openalex.org/W2791307958","https://openalex.org/W2522435088","https://openalex.org/W2134859701","https://openalex.org/W2911416019"],"abstract_inverted_index":{"A":[0],"bidirectional":[1,43,56,64,77,84,118],"transformation":[2],"is":[3,21,25,45,134],"a":[4,71,129],"pair":[5],"of":[6,42,63,99,117],"mappings":[7],"between":[8],"source":[9,24],"and":[10,39,75,124],"view":[11,20],"data":[12],"objects,":[13],"one":[14],"in":[15,50,79,89],"each":[16],"direction.":[17],"When":[18],"the":[19,23,37,52,61,97,121],"modified,":[22],"updated":[26],"accordingly":[27],"with":[28],"respect":[29],"to":[30,35,46,60,96,105,136],"some":[31],"laws.":[32],"One":[33],"way":[34],"reduce":[36],"development":[38],"maintenance":[40],"effort":[41],"transformations":[44,85],"have":[47],"specialized":[48],"languages":[49],"which":[51,80],"resulting":[53],"programs":[54,88],"are":[55],"by":[57],"construction---giving":[58],"rise":[59],"paradigm":[62],"programming.":[65],"In":[66],"this":[67],"paper,":[68],"we":[69,81],"develop":[70],"framework":[72,110,123],"for":[73],"applicative-style":[74],"higher-order":[76],"programming,":[78,119],"can":[82],"write":[83],"as":[86],"unidirectional":[87,107],"standard":[90],"functional":[91],"languages,":[92],"opening":[93],"up":[94],"access":[95],"bundle":[98],"language":[100],"features":[101],"previously":[102],"only":[103],"available":[104],"conventional":[106],"languages.":[108],"Our":[109],"essentially":[111],"bridges":[112],"two":[113],"very":[114],"different":[115],"approaches":[116],"namely":[120],"lens":[122],"Voigtl\u00e4nder's":[125],"semantic":[126],"bidirectionalization,":[127],"creating":[128],"new":[130],"programming":[131],"style":[132],"that":[133],"able":[135],"bag":[137],"benefits":[138],"from":[139],"both.":[140]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2}],"updated_date":"2026-04-11T08:14:18.477133","created_date":"2025-10-10T00:00:00"}
