{"id":"https://openalex.org/W2161298074","doi":"https://doi.org/10.1017/s0956796803004969","title":"Functional programming with the FC++ library","display_name":"Functional programming with the FC++ library","publication_year":2004,"publication_date":"2004-06-07","ids":{"openalex":"https://openalex.org/W2161298074","doi":"https://doi.org/10.1017/s0956796803004969","mag":"2161298074"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796803004969","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/1EC78833E953D6798C39C2E4B15EE4B4/S0956796803004969a.pdf/div-class-title-functional-programming-with-the-fc-library-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_indexed_in_scopus":true,"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},"type":"article","type_crossref":"journal-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/1EC78833E953D6798C39C2E4B15EE4B4/S0956796803004969a.pdf/div-class-title-functional-programming-with-the-fc-library-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5113628191","display_name":"Brian McNamara","orcid":null},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"funder","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"BRIAN MCNAMARA","raw_affiliation_strings":["College of Computing, Georgia Institute of Technology, GA, USA, 801 Atlantic Dr. Atlanta, GA 30332-0280"],"affiliations":[{"raw_affiliation_string":"College of Computing, Georgia Institute of Technology, GA, USA, 801 Atlantic Dr. Atlanta, GA 30332-0280","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043949214","display_name":"Yannis Smaragdakis","orcid":"https://orcid.org/0000-0002-0499-0182"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"funder","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"YANNIS SMARAGDAKIS","raw_affiliation_strings":["College of Computing, Georgia Institute of Technology, GA, USA, 801 Atlantic Dr. Atlanta, GA 30332-0280"],"affiliations":[{"raw_affiliation_string":"College of Computing, Georgia Institute of Technology, GA, USA, 801 Atlantic Dr. Atlanta, GA 30332-0280","institution_ids":["https://openalex.org/I130701444"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":5.311,"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":25,"citation_normalized_percentile":{"value":0.858182,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":89},"biblio":{"volume":"14","issue":"4","first_page":"429","last_page":"472"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9995,"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.9995,"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/T10142","display_name":"Formal Methods in Verification","score":0.9938,"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"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9911,"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/haskell","display_name":"Haskell","score":0.9411756},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6024159},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type Inference","score":0.4725689},{"id":"https://openalex.org/keywords/lazy-evaluation","display_name":"Lazy evaluation","score":0.45314133}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9411756},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.88489366},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.73808634},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6024159},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5806275},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.4725689},{"id":"https://openalex.org/C128099668","wikidata":"https://www.wikidata.org/wiki/Q573952","display_name":"Lazy evaluation","level":3,"score":0.45314133},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.4126804},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.39455357},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1614134},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796803004969","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/1EC78833E953D6798C39C2E4B15EE4B4/S0956796803004969a.pdf/div-class-title-functional-programming-with-the-fc-library-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_indexed_in_scopus":true,"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}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796803004969","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/1EC78833E953D6798C39C2E4B15EE4B4/S0956796803004969a.pdf/div-class-title-functional-programming-with-the-fc-library-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_indexed_in_scopus":true,"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},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":18,"referenced_works":["https://openalex.org/W1513612082","https://openalex.org/W1530804070","https://openalex.org/W1595551119","https://openalex.org/W1994880624","https://openalex.org/W2010482386","https://openalex.org/W203789835","https://openalex.org/W2062950667","https://openalex.org/W2068152133","https://openalex.org/W2074231109","https://openalex.org/W2133546079","https://openalex.org/W2142916157","https://openalex.org/W2295914203","https://openalex.org/W2798277317","https://openalex.org/W2913602891","https://openalex.org/W2968743833","https://openalex.org/W3022826140","https://openalex.org/W41699526","https://openalex.org/W53500718"],"related_works":["https://openalex.org/W2764317176","https://openalex.org/W2521829344","https://openalex.org/W2466718051","https://openalex.org/W2392016641","https://openalex.org/W2201673571","https://openalex.org/W2168393711","https://openalex.org/W2116323891","https://openalex.org/W2095136535","https://openalex.org/W2005083846","https://openalex.org/W1734457603"],"abstract_inverted_index":{"We":[0,114,157],"describe":[1],"the":[2,81,103,116,125,136],"FC++":[3,39,58,108,154],"library,":[4],"a":[5,50,61,67,75,87,99,119],"rich":[6],"library":[7,59,94,109],"supporting":[8],"functional":[9],"programming":[10],"in":[11,20,73,168],"C++.":[12],"Prior":[13],"approaches":[14],"to":[15,26,70],"encoding":[16],"higher":[17],"order":[18,142],"functions":[19,28,48],"C++":[21,54],"have":[22,130,134],"suffered":[23],"with":[24,164],"respect":[25],"polymorphic":[27,47],"from":[29],"either":[30],"lack":[31],"of":[32,53,63,83,95,102,118,121,127,143,153],"expressiveness":[33],"or":[34],"high":[35],"complexity.":[36],"In":[37],"contrast,":[38],"offers":[40],"full":[41],"and":[42,91],"concise":[43],"support":[44],"for":[45,145],"higher-order":[46],"through":[49],"novel":[51],"use":[52,152],"type":[55],"inference.":[56],"The":[57,107],"has":[60,110],"number":[62,120],"useful":[64,96],"features,":[65],"including":[66,98],"generalized":[68],"mechanism":[69],"implement":[71],"currying":[72],"C++,":[74],"\u201clazy":[76],"list\u201d":[77],"class":[78],"which":[79,123],"enables":[80],"creation":[82],"\u201cinfinite":[84],"data":[85],"structures\u201d,":[86],"subtype":[88],"polymorphism":[89],"facility,":[90],"an":[92,111,141,160],"extensive":[93],"functions,":[97],"large":[100],"part":[101],"Haskell":[104],"Standard":[105],"Prelude.":[106],"efficient":[112],"implementation.":[113],"show":[115],"results":[117],"experiments":[122],"demonstrate":[124],"value":[126],"optimizations":[128,133],"we":[129],"implemented.":[131],"These":[132],"improved":[135],"run-time":[137],"performance":[138,162],"by":[139],"about":[140],"magnitude":[144],"some":[146],"benchmark":[147],"programs":[148,166],"that":[149],"make":[150,159],"heavy":[151],"lazy":[155],"lists.":[156],"also":[158],"informal":[161],"comparison":[163],"similar":[165],"written":[167],"Haskell.":[169]},"abstract_inverted_index_v3":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2161298074","counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2025-03-21T16:27:47.122267","created_date":"2016-06-24"}