{"id":"https://openalex.org/W2277916875","doi":"https://doi.org/10.1145/2854695.2854698","title":"ICFP 2004","display_name":"ICFP 2004","publication_year":2015,"publication_date":"2015-12-04","ids":{"openalex":"https://openalex.org/W2277916875","doi":"https://doi.org/10.1145/2854695.2854698","mag":"2277916875"},"language":"en","primary_location":{"id":"doi:10.1145/2854695.2854698","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2854695.2854698","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGPLAN Notices","raw_type":"journal-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/A5055987140","display_name":"Ralf L\u00e4mmel","orcid":"https://orcid.org/0000-0001-9946-4363"},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"facility","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Ralf L\u00e4mmel","raw_affiliation_strings":["Vrije Universiteit &amp; CWI, Amsterdam"],"affiliations":[{"raw_affiliation_string":"Vrije Universiteit &amp; CWI, Amsterdam","institution_ids":["https://openalex.org/I1341640284"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027817074","display_name":"Simon Peyton Jones","orcid":"https://orcid.org/0000-0002-6085-1435"},"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":"Simon Peyton Jones","raw_affiliation_strings":["Microsoft Research, Cambridge"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5055987140"],"corresponding_institution_ids":["https://openalex.org/I1341640284"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.09275705,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"50","issue":"8S","first_page":"23","last_page":"34"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9988999962806702,"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/T11269","display_name":"Algorithms and Data Compression","score":0.9988999962806702,"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.9986000061035156,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9984999895095825,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.9305529594421387},{"id":"https://openalex.org/keywords/boilerplate-text","display_name":"Boilerplate text","score":0.8875718116760254},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8759064674377441},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.8126031160354614},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.723569929599762},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5646848678588867},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.47137558460235596},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.4436797499656677},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.42286884784698486},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3614622950553894},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.09446913003921509}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9305529594421387},{"id":"https://openalex.org/C75701414","wikidata":"https://www.wikidata.org/wiki/Q1651672","display_name":"Boilerplate text","level":2,"score":0.8875718116760254},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8759064674377441},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.8126031160354614},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.723569929599762},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5646848678588867},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.47137558460235596},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.4436797499656677},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.42286884784698486},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3614622950553894},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.09446913003921509}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2854695.2854698","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2854695.2854698","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGPLAN Notices","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W25805819","https://openalex.org/W1483054258","https://openalex.org/W1494264196","https://openalex.org/W1578113853","https://openalex.org/W1587553526","https://openalex.org/W1905449393","https://openalex.org/W1997644097","https://openalex.org/W2029684521","https://openalex.org/W2093896470","https://openalex.org/W2100703235","https://openalex.org/W2119717320","https://openalex.org/W2129652681","https://openalex.org/W2131916293","https://openalex.org/W2138452186","https://openalex.org/W2153166264","https://openalex.org/W2153801415","https://openalex.org/W2157137298","https://openalex.org/W2295528854","https://openalex.org/W3004062484","https://openalex.org/W4244488020","https://openalex.org/W6601090441","https://openalex.org/W6629325640","https://openalex.org/W6635267325","https://openalex.org/W6675263713"],"related_works":["https://openalex.org/W1564538666","https://openalex.org/W2526970984","https://openalex.org/W1688372159","https://openalex.org/W1528956417","https://openalex.org/W2493130382","https://openalex.org/W2145738007","https://openalex.org/W2112263414","https://openalex.org/W2971609332","https://openalex.org/W2110095505","https://openalex.org/W2779713464"],"abstract_inverted_index":{"Writing":[0],"boilerplate":[1,24],"code":[2],"is":[3],"a":[4,20,65,75,108,112],"royal":[5],"pain.":[6],"Generic":[7],"programming":[8],"promises":[9],"to":[10,18,43,52,86,94,106],"alleviate":[11],"this":[12,117],"pain":[13],"by":[14],"allowing":[15],"the":[16,38,61,104,138],"programmer":[17],"write":[19],"generic":[21,44,54,88,109],"\"recipe\"":[22],"for":[23,142],"code,":[25],"and":[26,56,80,128],"use":[27],"that":[28,72],"recipe":[29],"in":[30,98,121],"many":[31],"places.":[32],"In":[33],"earlier":[34],"work":[35],"we":[36,102],"introduced":[37],"\"Scrap":[39],"your":[40],"boilerplate\"":[41],"approach":[42],"programming,":[45],"which":[46,90],"exploits":[47],"Haskell's":[48],"existing":[49],"type-class":[50],"mechanism":[51],"support":[53,74],"transformations":[55],"queries.":[57],"This":[58],"paper":[59],"completes":[60],"picture.":[62],"We":[63,82],"add":[64],"few":[66],"extra":[67],"\"introspective\"":[68],"or":[69],"\"reflective\"":[70],"facilities,":[71],"together":[73],"rich":[76],"variety":[77],"of":[78,116,134],"serialisation":[79],"de-serialisation.":[81],"also":[83],"show":[84],"how":[85],"perform":[87],"\"zips\",":[89],"at":[91],"first":[92],"appear":[93],"be":[95,119],"somewhat":[96],"tricky":[97],"our":[99],"framework.":[100],"Lastly,":[101],"generalise":[103],"ability":[105],"over-ride":[107],"function":[110],"with":[111,123],"type-specific":[113],"one.":[114],"All":[115],"can":[118],"supported":[120],"Haskell":[122,135],"independently-useful":[124],"extensions:":[125],"higher-rank":[126],"types":[127],"type-safe":[129],"cast.":[130],"The":[131],"GHC":[132],"implementation":[133],"readily":[136],"derives":[137],"required":[139],"type":[140],"classes":[141],"user-defined":[143],"data":[144],"types.":[145]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2016-06-24T00:00:00"}
