{"id":"https://openalex.org/W1990409169","doi":"https://doi.org/10.1017/s0956796808006953","title":"Hoare type theory, polymorphism and separation","display_name":"Hoare type theory, polymorphism and separation","publication_year":2008,"publication_date":"2008-09-01","ids":{"openalex":"https://openalex.org/W1990409169","doi":"https://doi.org/10.1017/s0956796808006953","mag":"1990409169"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796808006953","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796808006953","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/D6B10CE5025B4C895C2FC7438393195E/S0956796808006953a.pdf/div-class-title-hoare-type-theory-polymorphism-and-separation-a-href-fn001-ref-type-fn-span-class-sup-1-span-a-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/D6B10CE5025B4C895C2FC7438393195E/S0956796808006953a.pdf/div-class-title-hoare-type-theory-polymorphism-and-separation-a-href-fn001-ref-type-fn-span-class-sup-1-span-a-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5026624853","display_name":"Aleksandar Nanevski","orcid":"https://orcid.org/0000-0002-4851-1075"},"institutions":[{"id":"https://openalex.org/I136199984","display_name":"Harvard University","ror":"https://ror.org/03vek6s52","country_code":"US","type":"education","lineage":["https://openalex.org/I136199984"]},{"id":"https://openalex.org/I2801851002","display_name":"Harvard University Press","ror":"https://ror.org/006v7bf86","country_code":"US","type":"other","lineage":["https://openalex.org/I136199984","https://openalex.org/I2801851002"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"ALEKSANDAR NANEVSKI","raw_affiliation_strings":["Harvard University, Cambridge, MA, USA (e-mail:","Harvard university, cambridge, ma, usa (e-mail: aleks@eecs.harvard.edu, greg@eecs.harvard.edu)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Harvard University, Cambridge, MA, USA (e-mail:","institution_ids":["https://openalex.org/I2801851002"]},{"raw_affiliation_string":"Harvard university, cambridge, ma, usa (e-mail: aleks@eecs.harvard.edu, greg@eecs.harvard.edu)","institution_ids":["https://openalex.org/I136199984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5064972235","display_name":"Greg Morrisett","orcid":null},"institutions":[{"id":"https://openalex.org/I136199984","display_name":"Harvard University","ror":"https://ror.org/03vek6s52","country_code":"US","type":"education","lineage":["https://openalex.org/I136199984"]},{"id":"https://openalex.org/I2801851002","display_name":"Harvard University Press","ror":"https://ror.org/006v7bf86","country_code":"US","type":"other","lineage":["https://openalex.org/I136199984","https://openalex.org/I2801851002"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"GREG MORRISETT","raw_affiliation_strings":["Harvard University, Cambridge, MA, USA (e-mail:","Harvard university, cambridge, ma, usa (e-mail: aleks@eecs.harvard.edu, greg@eecs.harvard.edu)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Harvard University, Cambridge, MA, USA (e-mail:","institution_ids":["https://openalex.org/I2801851002"]},{"raw_affiliation_string":"Harvard university, cambridge, ma, usa (e-mail: aleks@eecs.harvard.edu, greg@eecs.harvard.edu)","institution_ids":["https://openalex.org/I136199984"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055959064","display_name":"Lars Birkedal","orcid":"https://orcid.org/0000-0003-1320-0098"},"institutions":[{"id":"https://openalex.org/I83467386","display_name":"IT University of Copenhagen","ror":"https://ror.org/02309jg23","country_code":"DK","type":"education","lineage":["https://openalex.org/I83467386"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"LARS BIRKEDAL","raw_affiliation_strings":["IT University of Copenhagen, Copenhagen, Denmark (e-mail:","It university of copenhagen, copenhagen, denmark (e-mail: birkedal@itu.dk)"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IT University of Copenhagen, Copenhagen, Denmark (e-mail:","institution_ids":["https://openalex.org/I83467386"]},{"raw_affiliation_string":"It university of copenhagen, copenhagen, denmark (e-mail: birkedal@itu.dk)","institution_ids":["https://openalex.org/I83467386"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5026624853"],"corresponding_institution_ids":["https://openalex.org/I136199984","https://openalex.org/I2801851002"],"apc_list":null,"apc_paid":null,"fwci":12.3157,"has_fulltext":true,"cited_by_count":133,"citation_normalized_percentile":{"value":0.9846361,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":100},"biblio":{"volume":"18","issue":"5-6","first_page":"865","last_page":"911"},"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.9998000264167786,"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.9998000264167786,"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.9976999759674072,"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/T10142","display_name":"Formal Methods in Verification","score":0.9943000078201294,"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/hoare-logic","display_name":"Hoare logic","score":0.9140650629997253},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8299031257629395},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.7923073768615723},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.726754903793335},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7170722484588623},{"id":"https://openalex.org/keywords/type-theory","display_name":"Type theory","score":0.5522022843360901},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.524928629398346},{"id":"https://openalex.org/keywords/predicate-transformer-semantics","display_name":"Predicate transformer semantics","score":0.5178402066230774},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.515282392501831},{"id":"https://openalex.org/keywords/axiomatic-semantics","display_name":"Axiomatic semantics","score":0.47304266691207886},{"id":"https://openalex.org/keywords/precondition","display_name":"Precondition","score":0.4506714940071106},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.420126736164093},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.41844090819358826},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.41135239601135254},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3684734106063843},{"id":"https://openalex.org/keywords/operational-semantics","display_name":"Operational semantics","score":0.16503369808197021},{"id":"https://openalex.org/keywords/denotational-semantics","display_name":"Denotational semantics","score":0.1430661678314209},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.1410096287727356},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12405145168304443}],"concepts":[{"id":"https://openalex.org/C104949639","wikidata":"https://www.wikidata.org/wiki/Q1375924","display_name":"Hoare logic","level":3,"score":0.9140650629997253},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8299031257629395},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.7923073768615723},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.726754903793335},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7170722484588623},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.5522022843360901},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.524928629398346},{"id":"https://openalex.org/C30128091","wikidata":"https://www.wikidata.org/wiki/Q291929","display_name":"Predicate transformer semantics","level":4,"score":0.5178402066230774},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.515282392501831},{"id":"https://openalex.org/C58041814","wikidata":"https://www.wikidata.org/wiki/Q792533","display_name":"Axiomatic semantics","level":5,"score":0.47304266691207886},{"id":"https://openalex.org/C192465680","wikidata":"https://www.wikidata.org/wiki/Q1413450","display_name":"Precondition","level":2,"score":0.4506714940071106},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.420126736164093},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.41844090819358826},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.41135239601135254},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3684734106063843},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.16503369808197021},{"id":"https://openalex.org/C207648694","wikidata":"https://www.wikidata.org/wiki/Q1189746","display_name":"Denotational semantics","level":4,"score":0.1430661678314209},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.1410096287727356},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12405145168304443},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","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":2,"locations":[{"id":"doi:10.1017/s0956796808006953","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796808006953","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/D6B10CE5025B4C895C2FC7438393195E/S0956796808006953a.pdf/div-class-title-hoare-type-theory-polymorphism-and-separation-a-href-fn001-ref-type-fn-span-class-sup-1-span-a-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"},{"id":"pmh:oai:pure.atira.dk:publications/be7d2b50-caad-11dd-a259-000ea68e967b","is_oa":false,"landing_page_url":"https://pure.itu.dk/portal/da/publications/be7d2b50-caad-11dd-a259-000ea68e967b","pdf_url":null,"source":{"id":"https://openalex.org/S4377196680","display_name":"IT University Of Copenhagen (IT University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I83467386","host_organization_name":"IT University of Copenhagen","host_organization_lineage":["https://openalex.org/I83467386"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Nanevski, A, Morrisett, J G & Birkedal, L 2008, 'Hoare type theory, polymorphism and separation', Journal of Functional Programming, vol. 18, no. 5-6, pp. 865-911.","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1017/s0956796808006953","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796808006953","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/D6B10CE5025B4C895C2FC7438393195E/S0956796808006953a.pdf/div-class-title-hoare-type-theory-polymorphism-and-separation-a-href-fn001-ref-type-fn-span-class-sup-1-span-a-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":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1990409169.pdf","grobid_xml":"https://content.openalex.org/works/W1990409169.grobid-xml"},"referenced_works_count":83,"referenced_works":["https://openalex.org/W56863910","https://openalex.org/W159715351","https://openalex.org/W1495368328","https://openalex.org/W1499226144","https://openalex.org/W1509562505","https://openalex.org/W1514385560","https://openalex.org/W1529441891","https://openalex.org/W1535796526","https://openalex.org/W1538467230","https://openalex.org/W1546270920","https://openalex.org/W1556536463","https://openalex.org/W1583826417","https://openalex.org/W1607674807","https://openalex.org/W1661340274","https://openalex.org/W1677332761","https://openalex.org/W1773735832","https://openalex.org/W1773829243","https://openalex.org/W1790417275","https://openalex.org/W1811793995","https://openalex.org/W1825457006","https://openalex.org/W1854089346","https://openalex.org/W1874682220","https://openalex.org/W1903525885","https://openalex.org/W1926673875","https://openalex.org/W1945350451","https://openalex.org/W1959256509","https://openalex.org/W1964830323","https://openalex.org/W1965664509","https://openalex.org/W1966981171","https://openalex.org/W1975076763","https://openalex.org/W1986681115","https://openalex.org/W1988824860","https://openalex.org/W1996404651","https://openalex.org/W1997143185","https://openalex.org/W2002866920","https://openalex.org/W2005192022","https://openalex.org/W2008113186","https://openalex.org/W2020287055","https://openalex.org/W2024914463","https://openalex.org/W2027584005","https://openalex.org/W2032687731","https://openalex.org/W2034711041","https://openalex.org/W2036676170","https://openalex.org/W2062887328","https://openalex.org/W2066210260","https://openalex.org/W2068352674","https://openalex.org/W2075350371","https://openalex.org/W2078944436","https://openalex.org/W2080769562","https://openalex.org/W2084804301","https://openalex.org/W2088982416","https://openalex.org/W2107995193","https://openalex.org/W2111706174","https://openalex.org/W2114701904","https://openalex.org/W2117477507","https://openalex.org/W2124729849","https://openalex.org/W2125505801","https://openalex.org/W2129990308","https://openalex.org/W2132221175","https://openalex.org/W2133074047","https://openalex.org/W2133908430","https://openalex.org/W2134737716","https://openalex.org/W2134801812","https://openalex.org/W2135248810","https://openalex.org/W2136371406","https://openalex.org/W2137628566","https://openalex.org/W2141210774","https://openalex.org/W2143661661","https://openalex.org/W2146455667","https://openalex.org/W2156876717","https://openalex.org/W2483649756","https://openalex.org/W2581716308","https://openalex.org/W2736423681","https://openalex.org/W2799057409","https://openalex.org/W2911227993","https://openalex.org/W2987907651","https://openalex.org/W3031966213","https://openalex.org/W3134140253","https://openalex.org/W3146075203","https://openalex.org/W3181441684","https://openalex.org/W4213279211","https://openalex.org/W4255378020","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W1864574667","https://openalex.org/W2096553703","https://openalex.org/W4256587698","https://openalex.org/W2010528240","https://openalex.org/W2117210984","https://openalex.org/W1664980806","https://openalex.org/W2479659155","https://openalex.org/W4297797338","https://openalex.org/W119869865","https://openalex.org/W2256268268"],"abstract_inverted_index":{"Abstract":[0],"We":[1,24,105,143],"consider":[2],"the":[3,55,110,120,124,137,141,152,164,167],"problem":[4],"of":[5,46,52,79,112,157,166],"reconciling":[6],"a":[7,77,96],"dependently":[8],"typed":[9],"functional":[10],"language":[11],"with":[12,69,89,99],"imperative":[13],"features":[14],"such":[15],"as":[16,128],"mutable":[17],"higher-order":[18,100],"state,":[19],"pointer":[20],"aliasing,":[21],"and":[22,42,72,92,102,149],"nontermination.":[23],"propose":[25],"Hoare":[26,56,83,121],"type":[27,57,80,103,113],"theory":[28],"(HTT),":[29],"which":[30],"incorporates":[31],"Hoare-style":[32],"specifications":[33,134],"into":[34],"types,":[35,91],"making":[36],"it":[37,115],"possible":[38,117],"to":[39,95,118,162],"statically":[40],"track":[41],"enforce":[43],"correct":[44],"use":[45],"side":[47],"effects.":[48],"The":[49],"main":[50],"feature":[51],"HTT":[53,146],"is":[54,147],"{":[58,64],"P":[59,71],"}":[60,66],"x":[61],":":[62],"A":[63,81],"Q":[65,74],"specifying":[67],"computations":[68],"precondition":[70],"postcondition":[73],"that":[75,108,145,154],"return":[76],"result":[78],".":[82],"types":[84,122],"can":[85],"be":[86],"nested,":[87],"combined":[88],"other":[90],"abstracted,":[93],"leading":[94],"smooth":[97],"integration":[98],"functions":[101],"polymorphism.":[104],"further":[106],"show":[107],"in":[109,123,151],"presence":[111],"polymorphism,":[114],"becomes":[116],"interpret":[119],"\u201csmall":[125],"footprint\u201d":[126],"manner,":[127],"advocated":[129],"by":[130,140],"separation":[131],"logic,":[132],"whereby":[133],"tightly":[135],"describe":[136],"state":[138],"required":[139],"computation.":[142],"establish":[144],"sound":[148],"compositional,":[150],"sense":[153],"separate":[155],"verifications":[156],"individual":[158],"program":[159],"components":[160],"suffice":[161],"ensure":[163],"correctness":[165],"composite":[168],"program.":[169]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":5},{"year":2021,"cited_by_count":11},{"year":2020,"cited_by_count":8},{"year":2019,"cited_by_count":12},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":16},{"year":2016,"cited_by_count":7},{"year":2015,"cited_by_count":10},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":14},{"year":2012,"cited_by_count":9}],"updated_date":"2026-04-23T06:14:38.165362","created_date":"2025-10-10T00:00:00"}
