{"id":"https://openalex.org/W4236134058","doi":"https://doi.org/10.1145/2103656.2103665","title":"Higher-order functional reactive programming in bounded space","display_name":"Higher-order functional reactive programming in bounded space","publication_year":2012,"publication_date":"2012-01-24","ids":{"openalex":"https://openalex.org/W4236134058","doi":"https://doi.org/10.1145/2103656.2103665"},"language":"en","primary_location":{"id":"doi:10.1145/2103656.2103665","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103656.2103665","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","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/A5106266773","display_name":"Neelakantan R. Krishnaswami","orcid":null},"institutions":[{"id":"https://openalex.org/I4210121786","display_name":"Max Planck Institute for Software Systems","ror":"https://ror.org/02pe2kf23","country_code":"DE","type":"facility","lineage":["https://openalex.org/I149899117","https://openalex.org/I4210121786"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Neelakantan R. Krishnaswami","raw_affiliation_strings":["Max Planck Institute for Software Systems, Saarbruecken, Germany"],"affiliations":[{"raw_affiliation_string":"Max Planck Institute for Software Systems, Saarbruecken, Germany","institution_ids":["https://openalex.org/I4210121786"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023252122","display_name":"Nick Benton","orcid":null},"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":"Nick Benton","raw_affiliation_strings":["Microsoft Research, Cambridge, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101496943","display_name":"Jan Hoffmann","orcid":"https://orcid.org/0000-0001-8326-0788"},"institutions":[{"id":"https://openalex.org/I32971472","display_name":"Yale University","ror":"https://ror.org/03v76x132","country_code":"US","type":"education","lineage":["https://openalex.org/I32971472"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jan Hoffmann","raw_affiliation_strings":["Yale University, New Haven, CT, USA"],"affiliations":[{"raw_affiliation_string":"Yale University, New Haven, CT, USA","institution_ids":["https://openalex.org/I32971472"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5106266773"],"corresponding_institution_ids":["https://openalex.org/I4210121786"],"apc_list":null,"apc_paid":null,"fwci":5.0542,"has_fulltext":false,"cited_by_count":32,"citation_normalized_percentile":{"value":0.95986272,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"45","last_page":"58"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9995999932289124,"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"}},"topics":[{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9995999932289124,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9961000084877014,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9959999918937683,"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/functional-reactive-programming","display_name":"Functional reactive programming","score":0.8645179867744446},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.8472275137901306},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.7639771699905396},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7507933974266052},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.712768018245697},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5600056648254395},{"id":"https://openalex.org/keywords/stream-processing","display_name":"Stream processing","score":0.5533051490783691},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.46895283460617065},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.467038094997406},{"id":"https://openalex.org/keywords/functional-logic-programming","display_name":"Functional logic programming","score":0.4463632106781006},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.42905133962631226},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.4252052307128906},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.2409493327140808}],"concepts":[{"id":"https://openalex.org/C119489759","wikidata":"https://www.wikidata.org/wiki/Q5508843","display_name":"Functional reactive programming","level":5,"score":0.8645179867744446},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.8472275137901306},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.7639771699905396},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7507933974266052},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.712768018245697},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5600056648254395},{"id":"https://openalex.org/C107027933","wikidata":"https://www.wikidata.org/wiki/Q2006448","display_name":"Stream processing","level":2,"score":0.5533051490783691},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.46895283460617065},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.467038094997406},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.4463632106781006},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.42905133962631226},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.4252052307128906},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.2409493327140808},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","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}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2103656.2103665","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103656.2103665","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.atira.dk:openaire_cris_publications/762f8d09-4a65-4470-b428-2c59487a9ff8","is_oa":false,"landing_page_url":"http://dl.acm.org/citation.cfm?doid=2103656.2103665","pdf_url":null,"source":{"id":"https://openalex.org/S4306402634","display_name":"University of Birmingham Research Portal (University of Birmingham)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I79619799","host_organization_name":"University of Birmingham","host_organization_lineage":["https://openalex.org/I79619799"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Krishnaswami, N R, Benton, N & Hoffmann, J 2012, 'Higher-order functional reactive programming in bounded space', Paper presented at Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL'12, Philadelphia, United States, 25/01/12 - 27/01/12 pp. 45-58. https://doi.org/10.1145/2103656.2103665","raw_type":"conferenceObject"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W95578667","https://openalex.org/W1511203305","https://openalex.org/W1581217527","https://openalex.org/W1989703373","https://openalex.org/W1995969393","https://openalex.org/W2001280137","https://openalex.org/W2006232221","https://openalex.org/W2010059824","https://openalex.org/W2049440551","https://openalex.org/W2064138295","https://openalex.org/W2079512738","https://openalex.org/W2095343326","https://openalex.org/W2105153579","https://openalex.org/W2123329569","https://openalex.org/W2129687053","https://openalex.org/W2154521708","https://openalex.org/W2158789193","https://openalex.org/W4229652664","https://openalex.org/W4231827376","https://openalex.org/W4231894538","https://openalex.org/W6842205780"],"related_works":["https://openalex.org/W2189001763","https://openalex.org/W2022585506","https://openalex.org/W4248653691","https://openalex.org/W1998445782","https://openalex.org/W2039406101","https://openalex.org/W1943224404","https://openalex.org/W2575134494","https://openalex.org/W4296878212","https://openalex.org/W2161156675","https://openalex.org/W2572482456"],"abstract_inverted_index":{"Functional":[0],"reactive":[1,12,58,64,77],"programming":[2,11,28,65],"(FRP)":[3],"is":[4,39],"an":[5],"elegant":[6],"and":[7,20,41,87,108],"successful":[8],"approach":[9],"to":[10,34,43],"systems":[13],"declaratively.":[14],"The":[15],"high":[16],"levels":[17],"of":[18,52,72,84,93],"abstraction":[19],"expressivity":[21],"that":[22,67,104,110],"make":[23],"FRP":[24],"attractive":[25],"as":[26,91],"a":[27,62,76,99],"model":[29],"do,":[30],"however,":[31],"often":[32],"lead":[33],"programs":[35],"whose":[36],"resource":[37],"usage":[38],"excessive":[40],"hard":[42],"predict.":[44],"In":[45],"this":[46,97],"paper,":[47],"we":[48],"address":[49],"the":[50,70,73],"problem":[51],"space":[53],"leaks":[54],"in":[55],"discrete-time":[56],"functional":[57,63],"programs.":[59],"We":[60,95],"present":[61],"language":[66],"statically":[68],"bounds":[69],"size":[71],"dataflow":[74],"graph":[75],"program":[78],"creates,":[79],"while":[80],"still":[81],"permitting":[82],"use":[83],"higher-order":[85],"functions":[86],"higher-type":[88],"streams":[89,92],"such":[90],"streams.":[94],"achieve":[96],"with":[98],"novel":[100],"linear":[101],"type":[102],"theory":[103],"both":[105],"controls":[106],"allocation":[107],"ensures":[109],"all":[111],"recursive":[112],"definitions":[113],"are":[114],"well-founded.":[115]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":3},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2},{"year":2014,"cited_by_count":7},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":6}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
