{"id":"https://openalex.org/W2089589666","doi":"https://doi.org/10.1145/349299.349331","title":"Functional reactive programming from first principles","display_name":"Functional reactive programming from first principles","publication_year":2000,"publication_date":"2000-05-01","ids":{"openalex":"https://openalex.org/W2089589666","doi":"https://doi.org/10.1145/349299.349331","mag":"2089589666"},"language":"en","primary_location":{"id":"doi:10.1145/349299.349331","doi":"https://doi.org/10.1145/349299.349331","is_oa":true,"landing_page_url":"https://doi.org/10.1145/349299.349331","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/358438.349331","source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/358438.349331","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5026592861","display_name":"Zhanyong Wan","orcid":null,"observed_orcids":[]},"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":"Zhanyong Wan","raw_affiliation_strings":["Yale University, Department of Computer Science, P.O. Box 208285, New Haven, Connecticut"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Yale University, Department of Computer Science, P.O. Box 208285, New Haven, Connecticut","institution_ids":["https://openalex.org/I32971472"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5113456823","display_name":"Paul Hudak","orcid":null,"observed_orcids":[]},"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":"Paul Hudak","raw_affiliation_strings":["Yale University, Department of Computer Science, P.O. Box 208285, New Haven, Connecticut"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Yale University, Department of Computer Science, P.O. Box 208285, New Haven, Connecticut","institution_ids":["https://openalex.org/I32971472"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I32971472"],"apc_list":null,"apc_paid":null,"fwci":3.453,"has_fulltext":true,"cited_by_count":220,"citation_normalized_percentile":{"value":0.93623051,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":93,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"242","last_page":"252"},"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.9550999999046326,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.9550999999046326,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.011599999852478504,"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/T10142","display_name":"Formal Methods in Verification","score":0.004800000227987766,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/functional-reactive-programming","display_name":"functional reactive programming","score":0.9900000095367432},{"id":"https://openalex.org/keywords/behavior","display_name":"behavior","score":0.8149999976158142},{"id":"https://openalex.org/keywords/events","display_name":"events","score":0.9909999966621399},{"id":"https://openalex.org/keywords/hybrid-systems","display_name":"hybrid systems","score":0.8709999918937683},{"id":"https://openalex.org/keywords/declarative-programming","display_name":"declarative programming","score":0.8939999938011169},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.6190000176429749}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.935665488243103},{"id":"https://openalex.org/C119489759","wikidata":"https://www.wikidata.org/wiki/Q5508843","display_name":"Functional reactive programming","level":5,"score":0.8757098317146301},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.724941611289978},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7098177075386047},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.5761716961860657},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5730324387550354},{"id":"https://openalex.org/C2779662365","wikidata":"https://www.wikidata.org/wiki/Q5416694","display_name":"Event (particle physics)","level":2,"score":0.5385843515396118},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.48818761110305786},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.48661383986473083},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.4661404490470886},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.45358824729919434},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.44414541125297546},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4375409185886383},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/349299.349331","doi":"https://doi.org/10.1145/349299.349331","is_oa":true,"landing_page_url":"https://doi.org/10.1145/349299.349331","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/358438.349331","source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.23.360","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.360","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.haskell.org/frp/gzip/frp-1st.ps.gz","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/349299.349331","doi":"https://doi.org/10.1145/349299.349331","is_oa":true,"landing_page_url":"https://doi.org/10.1145/349299.349331","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/358438.349331","source":{"id":"https://openalex.org/S4393917474","display_name":"ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G7553300265","display_name":"A Modular Toolkit for Vision and Robotics -- An Experiment  in Domain specific Software Architecture --","funder_award_id":"9706747","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8911069189","display_name":"Principles of Functional Reactive Programming","funder_award_id":"9900957","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320338279","display_name":"Air Force Office of Scientific Research","ror":"https://ror.org/011e9bt93"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2089589666.pdf","grobid_xml":"https://content.openalex.org/works/W2089589666.grobid-xml"},"referenced_works_count":17,"referenced_works":["https://openalex.org/W15799706","https://openalex.org/W177779199","https://openalex.org/W1040269397","https://openalex.org/W1509606339","https://openalex.org/W1571962375","https://openalex.org/W1579416470","https://openalex.org/W1586502670","https://openalex.org/W1663179985","https://openalex.org/W1817199704","https://openalex.org/W1839902311","https://openalex.org/W1875562881","https://openalex.org/W1995969393","https://openalex.org/W2015888335","https://openalex.org/W2062950667","https://openalex.org/W2070998289","https://openalex.org/W2079512738","https://openalex.org/W2296715995"],"related_works":["https://openalex.org/W133030971","https://openalex.org/W2105153579","https://openalex.org/W2079512738","https://openalex.org/W2170276273","https://openalex.org/W4244834611","https://openalex.org/W7096943377","https://openalex.org/W1491796397","https://openalex.org/W2125519398","https://openalex.org/W2049440551","https://openalex.org/W2514237507"],"abstract_inverted_index":{"Functional":[0],"Reactive":[1],"Programming,":[2],"or":[3],"FRP,":[4],"is":[5,45,62],"a":[6,14,50],"general":[7],"framework":[8],"for":[9,56],"programming":[10,57],"hybrid":[11],"systems":[12,73],"in":[13,21,54,67],"high-level,":[15],"declarative":[16],"manner.":[17],"The":[18],"key":[19],"ideas":[20],"FRP":[22,44,61],"are":[23,31,37],"its":[24],"notions":[25],"of":[26,40,48],"behaviors":[27],"and":[28,70],"events.":[29],"Behaviors":[30],"time-varying,":[32],"reactive":[33,58],"values,":[34],"while":[35],"events":[36],"time-ordered":[38],"sequences":[39],"discrete-time":[41],"event":[42],"occurrences.":[43],"the":[46],"essence":[47],"Fran,":[49],"domain-specific":[51],"language":[52],"embedded":[53],"Haskell":[55],"animations,":[59],"but":[60],"now":[63],"also":[64],"being":[65],"used":[66],"vision,":[68],"robotics":[69],"other":[71],"control":[72],"applications.":[74]},"counts_by_year":[{"year":2026,"cited_by_count":4},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":8},{"year":2023,"cited_by_count":6},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":7},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":10},{"year":2018,"cited_by_count":11},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":16},{"year":2015,"cited_by_count":16},{"year":2014,"cited_by_count":15},{"year":2013,"cited_by_count":12},{"year":2012,"cited_by_count":16}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
