{"id":"https://openalex.org/W2105450475","doi":"https://doi.org/10.1017/s0956796812000263","title":"Every bit counts: The binary representation of typed data and programs","display_name":"Every bit counts: The binary representation of typed data and programs","publication_year":2012,"publication_date":"2012-08-15","ids":{"openalex":"https://openalex.org/W2105450475","doi":"https://doi.org/10.1017/s0956796812000263","mag":"2105450475"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796812000263","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796812000263","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A9A5BA8A2385066935ADA3989D26DE5A/S0956796812000263a.pdf/div-class-title-every-bit-counts-the-binary-representation-of-typed-data-and-programs-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A9A5BA8A2385066935ADA3989D26DE5A/S0956796812000263a.pdf/div-class-title-every-bit-counts-the-binary-representation-of-typed-data-and-programs-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5084971613","display_name":"Andrew Kennedy","orcid":"https://orcid.org/0000-0002-7888-2109"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"ANDREW J. KENNEDY","raw_affiliation_strings":["Microsoft Research, Cambridge, CB3 0FB, UK (e-mail:","Microsoft research, cambridge, cb3 0fb, uk (e-mail: akenn@microsoft.com, dimitris@microsoft.com)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, CB3 0FB, UK (e-mail:","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"Microsoft research, cambridge, cb3 0fb, uk (e-mail: akenn@microsoft.com, dimitris@microsoft.com)#TAB#","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5029108294","display_name":"Dimitrios Vytiniotis","orcid":null},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"DIMITRIOS VYTINIOTIS","raw_affiliation_strings":["Microsoft Research, Cambridge, CB3 0FB, UK (e-mail:","Microsoft research, cambridge, cb3 0fb, uk (e-mail: akenn@microsoft.com, dimitris@microsoft.com)#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, CB3 0FB, UK (e-mail:","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"Microsoft research, cambridge, cb3 0fb, uk (e-mail: akenn@microsoft.com, dimitris@microsoft.com)#TAB#","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I4210164937"],"apc_list":null,"apc_paid":null,"fwci":1.3048,"has_fulltext":true,"cited_by_count":13,"citation_normalized_percentile":{"value":0.8415795,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"22","issue":"4-5","first_page":"529","last_page":"573"},"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.9994000196456909,"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.9994000196456909,"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/T11574","display_name":"Artificial Intelligence in Games","score":0.9765999913215637,"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/T10142","display_name":"Formal Methods in Verification","score":0.9664999842643738,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.8472313284873962},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.6796445846557617},{"id":"https://openalex.org/keywords/prefix-code","display_name":"Prefix code","score":0.5746607780456543},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5529565215110779},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5295447111129761},{"id":"https://openalex.org/keywords/binary-number","display_name":"Binary number","score":0.49036216735839844},{"id":"https://openalex.org/keywords/sequence","display_name":"Sequence (biology)","score":0.48915937542915344},{"id":"https://openalex.org/keywords/lambda-calculus","display_name":"Lambda calculus","score":0.48717185854911804},{"id":"https://openalex.org/keywords/value","display_name":"Value (mathematics)","score":0.4764159917831421},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.44991442561149597},{"id":"https://openalex.org/keywords/decoding-methods","display_name":"Decoding methods","score":0.4480401575565338},{"id":"https://openalex.org/keywords/preorder","display_name":"Preorder","score":0.4289896488189697},{"id":"https://openalex.org/keywords/encoding","display_name":"Encoding (memory)","score":0.4246233105659485},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.4210214614868164},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.29934436082839966},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.21734580397605896},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.2156846821308136},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.18073531985282898},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13234058022499084},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.12213882803916931},{"id":"https://openalex.org/keywords/linear-code","display_name":"Linear code","score":0.08240747451782227}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8472313284873962},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.6796445846557617},{"id":"https://openalex.org/C20079647","wikidata":"https://www.wikidata.org/wiki/Q1278039","display_name":"Prefix code","level":5,"score":0.5746607780456543},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5529565215110779},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5295447111129761},{"id":"https://openalex.org/C48372109","wikidata":"https://www.wikidata.org/wiki/Q3913","display_name":"Binary number","level":2,"score":0.49036216735839844},{"id":"https://openalex.org/C2778112365","wikidata":"https://www.wikidata.org/wiki/Q3511065","display_name":"Sequence (biology)","level":2,"score":0.48915937542915344},{"id":"https://openalex.org/C135790938","wikidata":"https://www.wikidata.org/wiki/Q242028","display_name":"Lambda calculus","level":2,"score":0.48717185854911804},{"id":"https://openalex.org/C2776291640","wikidata":"https://www.wikidata.org/wiki/Q2912517","display_name":"Value (mathematics)","level":2,"score":0.4764159917831421},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.44991442561149597},{"id":"https://openalex.org/C57273362","wikidata":"https://www.wikidata.org/wiki/Q576722","display_name":"Decoding methods","level":2,"score":0.4480401575565338},{"id":"https://openalex.org/C2333172","wikidata":"https://www.wikidata.org/wiki/Q1425985","display_name":"Preorder","level":2,"score":0.4289896488189697},{"id":"https://openalex.org/C125411270","wikidata":"https://www.wikidata.org/wiki/Q18653","display_name":"Encoding (memory)","level":2,"score":0.4246233105659485},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.4210214614868164},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.29934436082839966},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.21734580397605896},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.2156846821308136},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.18073531985282898},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13234058022499084},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.12213882803916931},{"id":"https://openalex.org/C2400350","wikidata":"https://www.wikidata.org/wiki/Q1752667","display_name":"Linear code","level":4,"score":0.08240747451782227},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C157125643","wikidata":"https://www.wikidata.org/wiki/Q884707","display_name":"Block code","level":3,"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/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","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/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796812000263","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796812000263","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A9A5BA8A2385066935ADA3989D26DE5A/S0956796812000263a.pdf/div-class-title-every-bit-counts-the-binary-representation-of-typed-data-and-programs-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1017/s0956796812000263","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796812000263","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A9A5BA8A2385066935ADA3989D26DE5A/S0956796812000263a.pdf/div-class-title-every-bit-counts-the-binary-representation-of-typed-data-and-programs-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Quality Education","score":0.7900000214576721,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2105450475.pdf","grobid_xml":"https://content.openalex.org/works/W2105450475.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W47661094","https://openalex.org/W1496429054","https://openalex.org/W1509521212","https://openalex.org/W1553511155","https://openalex.org/W1571321636","https://openalex.org/W1572929865","https://openalex.org/W1607198972","https://openalex.org/W1662001482","https://openalex.org/W1662052880","https://openalex.org/W1768450951","https://openalex.org/W1786644971","https://openalex.org/W1820500785","https://openalex.org/W1983142807","https://openalex.org/W1987073254","https://openalex.org/W2051632385","https://openalex.org/W2081124914","https://openalex.org/W2084736102","https://openalex.org/W2093076589","https://openalex.org/W2096001571","https://openalex.org/W2096679454","https://openalex.org/W2114925693","https://openalex.org/W2119717320","https://openalex.org/W2125126351","https://openalex.org/W2125690388","https://openalex.org/W2128777897","https://openalex.org/W2143934903","https://openalex.org/W2148275616","https://openalex.org/W2162201044","https://openalex.org/W2295014926","https://openalex.org/W2482083302","https://openalex.org/W2568653835","https://openalex.org/W2618860389","https://openalex.org/W2621071150","https://openalex.org/W2785690991","https://openalex.org/W2912225177","https://openalex.org/W3012858841","https://openalex.org/W3099809655","https://openalex.org/W3140968660","https://openalex.org/W3163391239","https://openalex.org/W4235282062","https://openalex.org/W4244488020","https://openalex.org/W6785155038"],"related_works":["https://openalex.org/W2059384236","https://openalex.org/W2801835562","https://openalex.org/W1992310464","https://openalex.org/W2017728312","https://openalex.org/W3091937109","https://openalex.org/W2095136535","https://openalex.org/W2385042858","https://openalex.org/W2135972216","https://openalex.org/W51747038","https://openalex.org/W2350543448"],"abstract_inverted_index":{"Abstract":[0],"We":[1,61,72],"show":[2],"how":[3],"the":[4,22,35,49,57,93,109,138,146,172,178],"binary":[5,52],"encoding":[6,28],"and":[7,12,19,68,81,149],"decoding":[8,47],"of":[9,24,29,41,51,89,104,111,115,165,171],"typed":[10,13],"data":[11,53],"programs":[14],"can":[15],"be":[16],"understood,":[17],"programmed":[18],"verified":[20],"with":[21,96,118],"help":[23],"question\u2013answer":[25],"games.":[26,112],"The":[27,99,113],"a":[30,39,63,87,155,159,163,166],"value":[31,148,160],"is":[32,48],"determined":[33],"by":[34],"yes/no":[36],"answers":[37,55],"to":[38,56,86,125,145],"sequence":[40,153],"questions":[42],"about":[43],"that":[44,127],"value;":[45],"conversely,":[46],"interpretation":[50],"as":[54,154,162],"same":[58,139,147],"question":[59],"scheme.":[60],"introduce":[62],"general":[64],"framework":[65,100,173],"for":[66,77,158],"writing":[67],"verifying":[69],"game-based":[70],"codecs.":[71],"present":[73],"games":[74,131],"in":[75,92,108],"Haskell":[76],"structured,":[78],"recursive,":[79],"polymorphic":[80,97],"indexed":[82],"types,":[83],"building":[84],"up":[85],"representation":[88],"well-typed":[90],"terms":[91],"simply-typed":[94],"\u03bb-calculus":[95],"constants.":[98],"makes":[101],"novel":[102],"use":[103],"isomorphisms":[105,116],"between":[106],"types":[107],"definition":[110,114],"together":[117],"additional":[119],"simple":[120],"properties":[121,170],"make":[122],"it":[123],"easy":[124],"prove":[126],"codecs":[128],"derived":[129],"from":[130],"never":[132,141],"encode":[133],"two":[134,143],"distinct":[135],"values":[136],"using":[137,177],"code,":[140],"decode":[142],"codes":[144],"interpret":[150],"any":[151],"bit":[152],"valid":[156,167],"code":[157],"or":[161],"prefix":[164],"code.":[168],"Formal":[169],"have":[174],"been":[175],"proved":[176],"Coq":[179],"proof":[180],"assistant.":[181]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":2}],"updated_date":"2026-05-27T06:14:07.914337","created_date":"2025-10-10T00:00:00"}
