{"id":"https://openalex.org/W2517572815","doi":"https://doi.org/10.1145/2976002.2976004","title":"How to twist pointers without breaking them","display_name":"How to twist pointers without breaking them","publication_year":2016,"publication_date":"2016-08-26","ids":{"openalex":"https://openalex.org/W2517572815","doi":"https://doi.org/10.1145/2976002.2976004","mag":"2517572815"},"language":"en","primary_location":{"id":"doi:10.1145/2976002.2976004","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2976002.2976004","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th International Symposium on Haskell","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/A5026803492","display_name":"Satvik Chauhan","orcid":null},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Satvik Chauhan","raw_affiliation_strings":["Google, USA"],"affiliations":[{"raw_affiliation_string":"Google, USA","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090691108","display_name":"Piyush P. Kurur","orcid":null},"institutions":[{"id":"https://openalex.org/I94234084","display_name":"Indian Institute of Technology Kanpur","ror":"https://ror.org/05pjsgx75","country_code":"IN","type":"education","lineage":["https://openalex.org/I94234084"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Piyush P. Kurur","raw_affiliation_strings":["IIT Kanpur, India"],"affiliations":[{"raw_affiliation_string":"IIT Kanpur, India","institution_ids":["https://openalex.org/I94234084"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5058418924","display_name":"Brent A. Yorgey","orcid":"https://orcid.org/0009-0005-0135-6134"},"institutions":[{"id":"https://openalex.org/I130327366","display_name":"Hendrix College","ror":"https://ror.org/00yghrj63","country_code":"US","type":"education","lineage":["https://openalex.org/I130327366"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Brent A. Yorgey","raw_affiliation_strings":["Hendrix College, USA"],"affiliations":[{"raw_affiliation_string":"Hendrix College, USA","institution_ids":["https://openalex.org/I130327366"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5026803492"],"corresponding_institution_ids":["https://openalex.org/I1291425158"],"apc_list":null,"apc_paid":null,"fwci":0.8569,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.84014828,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"51","last_page":"61"},"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.9991000294685364,"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.9991000294685364,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9972000122070312,"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/T12002","display_name":"Computability, Logic, AI Algorithms","score":0.9814000129699707,"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/pointer","display_name":"Pointer (user interface)","score":0.851837158203125},{"id":"https://openalex.org/keywords/functor","display_name":"Functor","score":0.8054323196411133},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6518893837928772},{"id":"https://openalex.org/keywords/twist","display_name":"Twist","score":0.6155700087547302},{"id":"https://openalex.org/keywords/monoid","display_name":"Monoid","score":0.6104459762573242},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.5984077453613281},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.46083930134773254},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4274842441082001},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.3571746051311493},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.277302086353302},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.23909541964530945},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.19571492075920105}],"concepts":[{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.851837158203125},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.8054323196411133},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6518893837928772},{"id":"https://openalex.org/C2776196297","wikidata":"https://www.wikidata.org/wiki/Q17138781","display_name":"Twist","level":2,"score":0.6155700087547302},{"id":"https://openalex.org/C206901836","wikidata":"https://www.wikidata.org/wiki/Q208237","display_name":"Monoid","level":2,"score":0.6104459762573242},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.5984077453613281},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46083930134773254},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4274842441082001},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.3571746051311493},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.277302086353302},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.23909541964530945},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.19571492075920105},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","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/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2976002.2976004","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2976002.2976004","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th International Symposium on Haskell","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.6000000238418579,"id":"https://metadata.un.org/sdg/8","display_name":"Decent work and economic growth"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":8,"referenced_works":["https://openalex.org/W1488750823","https://openalex.org/W2000531838","https://openalex.org/W2057292961","https://openalex.org/W2064138295","https://openalex.org/W2073692695","https://openalex.org/W2098037505","https://openalex.org/W2116813111","https://openalex.org/W2912226968"],"related_works":["https://openalex.org/W2136809508","https://openalex.org/W3161268522","https://openalex.org/W2113101158","https://openalex.org/W4391212369","https://openalex.org/W2113978471","https://openalex.org/W2363462720","https://openalex.org/W2073211296","https://openalex.org/W2059790760","https://openalex.org/W2371240756","https://openalex.org/W2804553642"],"abstract_inverted_index":{"Using":[0],"the":[1,32,35,44],"theory":[2],"of":[3,34,37,43],"monoids":[4],"and":[5,24,55],"monoid":[6],"actions,":[7],"we":[8],"give":[9],"a":[10,38,41],"unified":[11],"framework":[12],"that":[13,52],"handles":[14],"three":[15],"common":[16],"pointer":[17,67],"manipulation":[18,68],"tasks,":[19],"namely,":[20],"data":[21],"serialisation,":[22],"deserialisation,":[23],"memory":[25],"allocation.":[26],"Our":[27],"main":[28],"theoretical":[29],"contribution":[30],"is":[31],"formulation":[33],"notion":[36],"twisted":[39,56],"functor,":[40],"generalisation":[42],"semi-direct":[45,53],"product":[46],"construction":[47],"for":[48,65],"monoids.":[49],"We":[50],"show":[51],"products":[54],"functors":[57],"are":[58],"particularly":[59],"well":[60],"suited":[61],"as":[62],"an":[63],"abstraction":[64],"many":[66],"tasks.":[69]},"counts_by_year":[{"year":2017,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
