{"id":"https://openalex.org/W4401942940","doi":"https://doi.org/10.1145/3677999.3678282","title":"Liquid Amortization: Proving Amortized Complexity with LiquidHaskell (Functional Pearl)","display_name":"Liquid Amortization: Proving Amortized Complexity with LiquidHaskell (Functional Pearl)","publication_year":2024,"publication_date":"2024-08-28","ids":{"openalex":"https://openalex.org/W4401942940","doi":"https://doi.org/10.1145/3677999.3678282"},"language":"en","primary_location":{"id":"doi:10.1145/3677999.3678282","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3677999.3678282","pdf_url":null,"source":null,"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 17th ACM SIGPLAN International Haskell Symposium","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3677999.3678282","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5106777737","display_name":"Jan van Br\u00fcgge","orcid":"https://orcid.org/0000-0003-1560-7326"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Jan van Br\u00fcgge","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0003-1560-7326","affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5106777737"],"corresponding_institution_ids":["https://openalex.org/I32062511"],"apc_list":null,"apc_paid":null,"fwci":0.9934,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.80079789,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"97","last_page":"108"},"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.9787999987602234,"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.9787999987602234,"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.9635000228881836,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.8933268785476685},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5739752650260925},{"id":"https://openalex.org/keywords/amortization","display_name":"Amortization","score":0.5153871774673462},{"id":"https://openalex.org/keywords/business","display_name":"Business","score":0.06835561990737915},{"id":"https://openalex.org/keywords/philosophy","display_name":"Philosophy","score":0.05775699019432068}],"concepts":[{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.8933268785476685},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5739752650260925},{"id":"https://openalex.org/C2781198434","wikidata":"https://www.wikidata.org/wiki/Q4064479","display_name":"Amortization","level":3,"score":0.5153871774673462},{"id":"https://openalex.org/C144133560","wikidata":"https://www.wikidata.org/wiki/Q4830453","display_name":"Business","level":0,"score":0.06835561990737915},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.05775699019432068},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"score":0.0},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0},{"id":"https://openalex.org/C2777764128","wikidata":"https://www.wikidata.org/wiki/Q189539","display_name":"Loan","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3677999.3678282","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3677999.3678282","pdf_url":null,"source":null,"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 17th ACM SIGPLAN International Haskell Symposium","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:2407.13671","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2407.13671","pdf_url":"https://arxiv.org/pdf/2407.13671","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/3677999.3678282","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3677999.3678282","pdf_url":null,"source":null,"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 17th ACM SIGPLAN International Haskell Symposium","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W123460044","https://openalex.org/W1553511155","https://openalex.org/W1662203549","https://openalex.org/W2098037505","https://openalex.org/W2101085206","https://openalex.org/W2105045857","https://openalex.org/W2491721896","https://openalex.org/W2767258384","https://openalex.org/W2798025005","https://openalex.org/W2891419998","https://openalex.org/W2934015820","https://openalex.org/W3046859753","https://openalex.org/W3125985216","https://openalex.org/W3139303876","https://openalex.org/W3195167056","https://openalex.org/W4246691913","https://openalex.org/W4250846042","https://openalex.org/W4294254159"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W4383753508","https://openalex.org/W2368911659","https://openalex.org/W4398771981","https://openalex.org/W2389141549","https://openalex.org/W4297824900","https://openalex.org/W2186798288","https://openalex.org/W2950290350"],"abstract_inverted_index":{"Formal":[0],"reasoning":[1,22],"about":[2,23],"the":[3,30,52,56,61,68,72,76,79,97,117,143,162,188,214,230,240],"time":[4,25],"complexity":[5,26,106,158,208],"of":[6,37,55,78,107,156,213,233,239],"algorithms":[7],"and":[8,49,139,164],"data":[9,53,69,108,183,219,241],"structures":[10,54,70,109,242],"is":[11,64],"usually":[12],"done":[13],"in":[14,94,111,167],"interactive":[15],"theorem":[16,47],"provers":[17],"like":[18],"Isabelle/HOL.":[19],"This":[20],"includes":[21],"amortized":[24,105,157,207],"which":[27,195],"looks":[28],"at":[29],"worst":[31],"case":[32,170],"performance":[33],"over":[34],"a":[35,46,82,92,125,172,201,217],"series":[36],"operations.":[38],"However,":[39],"most":[40],"programs":[41],"are":[42],"not":[43,130,152,243],"written":[44],"within":[45],"prover":[48],"thus":[50],"use":[51],"production":[57,73],"language.":[58],"To":[59],"verify":[60],"correctness":[62],"it":[63],"necessary":[65],"to":[66,91,103,132,178,199],"translate":[67],"from":[71],"language":[74,77,136],"into":[75],"prover.":[80],"Such":[81],"translation":[83,118],"step":[84],"could":[85],"introduce":[86],"errors,":[87],"for":[88,137,192,210],"example":[89],"due":[90],"mismatch":[93],"features":[95],"between":[96],"two":[98],"languages.":[99],"We":[100,204],"show":[101,186],"how":[102],"prove":[104,206],"directly":[110],"Haskell":[112],"using":[113],"LiquidHaskell.":[114],"Besides":[115],"skipping":[116],"step,":[119],"our":[120,168],"approach":[121],"can":[122,140,196],"also":[123,205],"provide":[124],"didactic":[126],"advantage.":[127],"Learners":[128],"do":[129,151],"have":[131],"learn":[133],"an":[134],"additional":[135],"proofs":[138],"focus":[141],"on":[142,224],"new":[144],"concepts":[145,163],"only.":[146],"For":[147],"this":[148],"paper,":[149],"we":[150,160,185,228],"assume":[153],"prior":[154],"knowledge":[155],"as":[159],"explain":[161],"apply":[165],"them":[166],"first":[169],"study,":[171],"simple":[173],"stack":[174],"with":[175,221],"multipop.":[176],"Moving":[177],"more":[179],"complicated":[180],"(and":[181],"useful)":[182],"structures,":[184],"that":[187,235],"same":[189],"technique":[190],"works":[191],"binomial":[193],"heaps":[194],"be":[197],"used":[198],"implement":[200],"priority":[202],"queue.":[203],"bounds":[209],"Claessen\u2019s":[211],"version":[212],"finger":[215],"tree,":[216],"sequence-like":[218],"structure":[220],"constant-time":[222],"cons/uncons":[223],"either":[225],"end.":[226],"Finally":[227],"discuss":[229],"current":[231],"limitations":[232],"LiquidHaskell":[234],"made":[236],"certain":[237],"versions":[238],"feasible.":[244]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2}],"updated_date":"2025-12-22T23:10:17.713674","created_date":"2024-08-29T00:00:00"}
