{"id":"https://openalex.org/W2884227110","doi":"https://doi.org/10.1145/3236779","title":"What you needa know about Yoneda: profunctor optics and the Yoneda lemma (functional pearl)","display_name":"What you needa know about Yoneda: profunctor optics and the Yoneda lemma (functional pearl)","publication_year":2018,"publication_date":"2018-07-30","ids":{"openalex":"https://openalex.org/W2884227110","doi":"https://doi.org/10.1145/3236779","mag":"2884227110"},"language":"en","primary_location":{"id":"doi:10.1145/3236779","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236779","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236779","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3236779","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5056706196","display_name":"Guillaume Boisseau","orcid":"https://orcid.org/0000-0001-5244-893X"},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Guillaume Boisseau","raw_affiliation_strings":["University of Oxford, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Oxford, UK","institution_ids":["https://openalex.org/I40120149"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5086558126","display_name":"Jeremy Gibbons","orcid":"https://orcid.org/0000-0002-8426-9917"},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Jeremy Gibbons","raw_affiliation_strings":["University of Oxford, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Oxford, UK","institution_ids":["https://openalex.org/I40120149"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I40120149"],"apc_list":null,"apc_paid":{"value":416,"currency":"EUR","value_usd":448},"fwci":1.3104,"has_fulltext":true,"cited_by_count":18,"citation_normalized_percentile":{"value":0.85321573,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"2","issue":"ICFP","first_page":"1","last_page":"27"},"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.9958000183105469,"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.9958000183105469,"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/T10896","display_name":"Homotopy and Cohomology in Algebraic Topology","score":0.933899998664856,"subfield":{"id":"https://openalex.org/subfields/2610","display_name":"Mathematical Physics"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/lemma","display_name":"Lemma (botany)","score":0.7873221635818481},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.7316532731056213},{"id":"https://openalex.org/keywords/setter","display_name":"Setter","score":0.4782101809978485},{"id":"https://openalex.org/keywords/dual","display_name":"Dual (grammatical number)","score":0.41118893027305603},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.37505042552948},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.34760913252830505},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.3451199531555176},{"id":"https://openalex.org/keywords/geography","display_name":"Geography","score":0.14098849892616272},{"id":"https://openalex.org/keywords/linguistics","display_name":"Linguistics","score":0.09083056449890137},{"id":"https://openalex.org/keywords/political-science","display_name":"Political science","score":0.0785728394985199}],"concepts":[{"id":"https://openalex.org/C2777759810","wikidata":"https://www.wikidata.org/wiki/Q149316","display_name":"Lemma (botany)","level":3,"score":0.7873221635818481},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.7316532731056213},{"id":"https://openalex.org/C2780667275","wikidata":"https://www.wikidata.org/wiki/Q39640","display_name":"Setter","level":2,"score":0.4782101809978485},{"id":"https://openalex.org/C2780980858","wikidata":"https://www.wikidata.org/wiki/Q110022","display_name":"Dual (grammatical number)","level":2,"score":0.41118893027305603},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.37505042552948},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.34760913252830505},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.3451199531555176},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.14098849892616272},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.09083056449890137},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0785728394985199},{"id":"https://openalex.org/C46757340","wikidata":"https://www.wikidata.org/wiki/Q43238","display_name":"Poaceae","level":2,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"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/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3236779","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236779","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236779","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3236779","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3236779","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3236779","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2022461531","display_name":null,"funder_award_id":"EP/K020919/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320327550","display_name":"National Institute of Informatics","ror":"https://ror.org/04ksd4g47"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2884227110.pdf","grobid_xml":"https://content.openalex.org/works/W2884227110.grobid-xml"},"referenced_works_count":23,"referenced_works":["https://openalex.org/W189826304","https://openalex.org/W1482508253","https://openalex.org/W1522809628","https://openalex.org/W1603012589","https://openalex.org/W1975411983","https://openalex.org/W1993075518","https://openalex.org/W2086191240","https://openalex.org/W2092546644","https://openalex.org/W2113582770","https://openalex.org/W2116813111","https://openalex.org/W2120713972","https://openalex.org/W2125713144","https://openalex.org/W2138452186","https://openalex.org/W2164498112","https://openalex.org/W2173780645","https://openalex.org/W2295976912","https://openalex.org/W2501393023","https://openalex.org/W2574983198","https://openalex.org/W2589901545","https://openalex.org/W2610994252","https://openalex.org/W2913626755","https://openalex.org/W2963683507","https://openalex.org/W2990129438"],"related_works":["https://openalex.org/W2594432350","https://openalex.org/W2384957915","https://openalex.org/W2554413158","https://openalex.org/W2357875937","https://openalex.org/W3121331736","https://openalex.org/W2736364319","https://openalex.org/W2351786283","https://openalex.org/W2379526367","https://openalex.org/W2367412367","https://openalex.org/W2137858820"],"abstract_inverted_index":{"Profunctor":[0],"optics":[1],"are":[2],"a":[3,68],"neat":[4],"and":[5,14,24,34,42],"composable":[6],"representation":[7,20,37,54],"of":[8,40,72,90],"bidirectional":[9],"data":[10],"accessors,":[11],"including":[12],"lenses,":[13],"their":[15],"dual,":[16],"prisms.":[17],"The":[18],"profunctor":[19,53,92],"exploits":[21],"higher-order":[22],"functions":[23,44],"higher-kinded":[25],"type":[26],"constructor":[27],"classes,":[28],"but":[29],"the":[30,35,52,56,60,73,77,91,104],"relationship":[31,61],"between":[32],"this":[33,86],"familiar":[36],"in":[38,81],"terms":[39],"\"getter\"":[41],"\"setter\"":[43],"is":[45],"not":[46],"at":[47],"all":[48],"obvious.":[49],"We":[50,84],"derive":[51],"from":[55],"concrete":[57],"representation,":[58],"making":[59],"clear.":[62],"It":[63],"turns":[64],"out":[65],"to":[66,99],"be":[67],"fairly":[69],"direct":[70],"application":[71],"Yoneda":[74,105],"Lemma,":[75],"arguably":[76],"most":[78],"important":[79],"result":[80],"category":[82],"theory.":[83],"hope":[85],"derivation":[87],"aids":[88],"understanding":[89],"representation.":[93],"Conversely,":[94],"it":[95],"might":[96],"also":[97],"serve":[98],"provide":[100],"some":[101],"insight":[102],"into":[103],"Lemma.":[106]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
