{"id":"https://openalex.org/W2033178475","doi":"https://doi.org/10.1145/2784731.2784756","title":"Functional pearl: two can keep a secret, if one of them uses Haskell","display_name":"Functional pearl: two can keep a secret, if one of them uses Haskell","publication_year":2015,"publication_date":"2015-08-26","ids":{"openalex":"https://openalex.org/W2033178475","doi":"https://doi.org/10.1145/2784731.2784756","mag":"2033178475"},"language":"en","primary_location":{"id":"doi:10.1145/2784731.2784756","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784756","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","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/A5028178671","display_name":"Alejandro Russo","orcid":"https://orcid.org/0000-0002-4338-6316"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":true,"raw_author_name":"Alejandro Russo","raw_affiliation_strings":["Chalmers University of Technology, Sweden"],"affiliations":[{"raw_affiliation_string":"Chalmers University of Technology, Sweden","institution_ids":["https://openalex.org/I66862912"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5028178671"],"corresponding_institution_ids":["https://openalex.org/I66862912"],"apc_list":null,"apc_paid":null,"fwci":3.5608,"has_fulltext":false,"cited_by_count":34,"citation_normalized_percentile":{"value":0.9357481,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"280","last_page":"288"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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/T10927","display_name":"Access Control and Trust","score":0.989799976348877,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T11614","display_name":"Cloud Data Security Solutions","score":0.9846000075340271,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/haskell","display_name":"Haskell","score":0.9534448385238647},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8343874216079712},{"id":"https://openalex.org/keywords/confidentiality","display_name":"Confidentiality","score":0.7618907690048218},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.6889724135398865},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.5936589241027832},{"id":"https://openalex.org/keywords/information-flow","display_name":"Information flow","score":0.5277191996574402},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4800640046596527},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.4304758310317993},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.41666358709335327},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4151720702648163}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9534448385238647},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8343874216079712},{"id":"https://openalex.org/C71745522","wikidata":"https://www.wikidata.org/wiki/Q2476929","display_name":"Confidentiality","level":2,"score":0.7618907690048218},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.6889724135398865},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.5936589241027832},{"id":"https://openalex.org/C2779136372","wikidata":"https://www.wikidata.org/wiki/Q10283002","display_name":"Information flow","level":2,"score":0.5277191996574402},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4800640046596527},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.4304758310317993},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.41666358709335327},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4151720702648163},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","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/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/2784731.2784756","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784756","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.906.5304","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.906.5304","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cse.chalmers.se/%7Erusso/publications_files/pearl-russo.pdf","raw_type":"text"},{"id":"pmh:oai:publications.lib.chalmers.se:218754","is_oa":false,"landing_page_url":"http://publications.lib.chalmers.se/publication/218754-functional-pearl-two-can-keep-a-secret-if-one-of-them-uses-haskell","pdf_url":null,"source":{"id":"https://openalex.org/S4377196470","display_name":"Chalmers Publication Library (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text.Article.Conference.PeerReviewed"},{"id":"pmh:oai:research.chalmers.se:218754","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/218754","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},{"id":"pmh:oai:research.chalmers.se:525638","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/8c9f3086-29e0-4a67-b30f-38b8a82d7b5d","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.5299999713897705,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[{"id":"https://openalex.org/G7843216225","display_name":null,"funder_award_id":"N66001-10-2-4088","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"}],"funders":[{"id":"https://openalex.org/F4320322581","display_name":"Vetenskapsr\u00e5det","ror":"https://ror.org/03zttf063"},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W1606774834","https://openalex.org/W1966354044","https://openalex.org/W1977764760","https://openalex.org/W1991895580","https://openalex.org/W2005525408","https://openalex.org/W2027961147","https://openalex.org/W2028705369","https://openalex.org/W2030360570","https://openalex.org/W2047370472","https://openalex.org/W2099137371","https://openalex.org/W2099878912","https://openalex.org/W2107779615","https://openalex.org/W2110012131","https://openalex.org/W2116236474","https://openalex.org/W2129278597","https://openalex.org/W2129777450","https://openalex.org/W2136624255","https://openalex.org/W2146717998","https://openalex.org/W2296133386","https://openalex.org/W2296715995"],"related_works":["https://openalex.org/W2112263414","https://openalex.org/W3004782279","https://openalex.org/W1602185604","https://openalex.org/W2028779182","https://openalex.org/W4242678340","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W1488646450","https://openalex.org/W4296274916","https://openalex.org/W1504459189"],"abstract_inverted_index":{"For":[0],"several":[1],"decades,":[2],"researchers":[3],"from":[4],"different":[5],"communities":[6],"have":[7,18],"independently":[8],"focused":[9],"on":[10],"protecting":[11],"confidentiality":[12,76,88],"of":[13,93,128],"data.":[14],"Two":[15],"distinct":[16],"technologies":[17],"emerged":[19],"for":[20],"such":[21],"purposes:":[22],"Mandatory":[23],"Access":[24],"Control":[25,29],"(MAC)":[26],"and":[27,99,125],"Information-Flow":[28],"(IFC)\u2014the":[30],"former":[31],"belonging":[32],"to":[33,41,58,74,108,121],"operating":[34],"systems":[35],"(OS)":[36],"research,":[37],"while":[38],"the":[39,42,91,111,123],"latter":[40],"programming":[43],"languages":[44],"community.":[45],"These":[46],"approaches":[47],"restrict":[48],"how":[49],"data":[50,101],"gets":[51],"propagated":[52],"within":[53],"a":[54,67,82,106],"system":[55],"in":[56,90],"order":[57],"avoid":[59],"information":[60],"leaks.":[61],"In":[62],"this":[63],"scenario,":[64],"Haskell":[65],"plays":[66],"unique":[68],"privileged":[69],"role:":[70],"it":[71],"is":[72],"able":[73],"protect":[75],"via":[77],"libraries.":[78],"This":[79],"pearl":[80],"presents":[81],"monadic":[83],"API":[84],"which":[85],"statically":[86],"protects":[87],"even":[89],"presence":[92],"advanced":[94],"features":[95],"like":[96],"exceptions,":[97],"concurrency,":[98],"mutable":[100],"structures.":[102],"Additionally,":[103],"we":[104],"present":[105],"mechanism":[107],"safely":[109],"extend":[110],"library":[112,117],"with":[113],"new":[114,129],"primitives,":[115],"where":[116],"designers":[118],"only":[119],"need":[120],"indicate":[122],"read":[124],"write":[126],"effects":[127],"operations.":[130]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":7},{"year":2019,"cited_by_count":5},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":2}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
