{"id":"https://openalex.org/W3046741614","doi":"https://doi.org/10.1145/3406088.3409016","title":"Scripted signal functions","display_name":"Scripted signal functions","publication_year":2020,"publication_date":"2020-07-31","ids":{"openalex":"https://openalex.org/W3046741614","doi":"https://doi.org/10.1145/3406088.3409016","mag":"3046741614"},"language":"en","primary_location":{"id":"doi:10.1145/3406088.3409016","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3406088.3409016","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell","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/A5107516406","display_name":"David A. Stuart","orcid":null},"institutions":[{"id":"https://openalex.org/I4210118256","display_name":"N&N Pharmaceuticals (United States)","ror":"https://ror.org/02m2ek616","country_code":"US","type":"company","lineage":["https://openalex.org/I4210118256"]},{"id":"https://openalex.org/I4210121272","display_name":"Anna Needs Neuroblastoma Answers","ror":"https://ror.org/02z5k8341","country_code":"US","type":"nonprofit","lineage":["https://openalex.org/I4210121272"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"David A. Stuart","raw_affiliation_strings":["n.n., n.n"],"affiliations":[{"raw_affiliation_string":"n.n., n.n","institution_ids":["https://openalex.org/I4210118256","https://openalex.org/I4210121272"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5107516406"],"corresponding_institution_ids":["https://openalex.org/I4210118256","https://openalex.org/I4210121272"],"apc_list":null,"apc_paid":null,"fwci":0.4621,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.58754355,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"109","last_page":"121"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9995999932289124,"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"}},"topics":[{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9995999932289124,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9979000091552734,"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.9976000189781189,"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/computer-science","display_name":"Computer science","score":0.7486119270324707},{"id":"https://openalex.org/keywords/signal","display_name":"SIGNAL (programming language)","score":0.7232808470726013},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.6932318210601807},{"id":"https://openalex.org/keywords/functional-reactive-programming","display_name":"Functional reactive programming","score":0.6087612509727478},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.6050167083740234},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.5403140187263489},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.5042914152145386},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.47858095169067383},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.4540763795375824},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.4398545026779175},{"id":"https://openalex.org/keywords/power","display_name":"Power (physics)","score":0.4360820949077606},{"id":"https://openalex.org/keywords/signal-processing","display_name":"Signal processing","score":0.4234592020511627},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3757492005825043},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.37406226992607117},{"id":"https://openalex.org/keywords/topology","display_name":"Topology (electrical circuits)","score":0.33278077840805054},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3223439157009125},{"id":"https://openalex.org/keywords/digital-signal-processing","display_name":"Digital signal processing","score":0.2678201198577881},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.23475271463394165},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.17776820063591003},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.1715926229953766},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.16165459156036377},{"id":"https://openalex.org/keywords/functor","display_name":"Functor","score":0.08913001418113708},{"id":"https://openalex.org/keywords/physics","display_name":"Physics","score":0.08480361104011536},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.08147680759429932}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7486119270324707},{"id":"https://openalex.org/C2779843651","wikidata":"https://www.wikidata.org/wiki/Q7390335","display_name":"SIGNAL (programming language)","level":2,"score":0.7232808470726013},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.6932318210601807},{"id":"https://openalex.org/C119489759","wikidata":"https://www.wikidata.org/wiki/Q5508843","display_name":"Functional reactive programming","level":5,"score":0.6087612509727478},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.6050167083740234},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.5403140187263489},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.5042914152145386},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.47858095169067383},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4540763795375824},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.4398545026779175},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.4360820949077606},{"id":"https://openalex.org/C104267543","wikidata":"https://www.wikidata.org/wiki/Q208163","display_name":"Signal processing","level":3,"score":0.4234592020511627},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3757492005825043},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.37406226992607117},{"id":"https://openalex.org/C184720557","wikidata":"https://www.wikidata.org/wiki/Q7825049","display_name":"Topology (electrical circuits)","level":2,"score":0.33278077840805054},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3223439157009125},{"id":"https://openalex.org/C84462506","wikidata":"https://www.wikidata.org/wiki/Q173142","display_name":"Digital signal processing","level":2,"score":0.2678201198577881},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.23475271463394165},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.17776820063591003},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.1715926229953766},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.16165459156036377},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.08913001418113708},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.08480361104011536},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.08147680759429932},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0},{"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/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3406088.3409016","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3406088.3409016","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W92193974","https://openalex.org/W144505997","https://openalex.org/W1936969208","https://openalex.org/W1968464751","https://openalex.org/W1978110380","https://openalex.org/W2049440551","https://openalex.org/W2059769337","https://openalex.org/W2060238140","https://openalex.org/W2064138295","https://openalex.org/W2079512738","https://openalex.org/W2099308299","https://openalex.org/W2110001365","https://openalex.org/W2115597529","https://openalex.org/W2116435685","https://openalex.org/W2145191352","https://openalex.org/W2159542925","https://openalex.org/W2294457340","https://openalex.org/W2514237507","https://openalex.org/W2891744584","https://openalex.org/W6639557239","https://openalex.org/W6674942055","https://openalex.org/W6677206126","https://openalex.org/W6811215404"],"related_works":["https://openalex.org/W1911419940","https://openalex.org/W2466718051","https://openalex.org/W2373472360","https://openalex.org/W2995031344","https://openalex.org/W154014553","https://openalex.org/W3004782279","https://openalex.org/W2097221791","https://openalex.org/W2175256523","https://openalex.org/W1875562881","https://openalex.org/W4246743348"],"abstract_inverted_index":{"Programming":[0],"time-dependent":[1],"signals":[2,47],"like":[3],"animations":[4],"involves":[5],"expressing":[6],"both":[7],"continuous":[8,33],"and":[9,25,104,121,133],"discrete":[10,28,60],"changes":[11],"in":[12,111],"signal":[13,55,90,101],"values.":[14],"The":[15],"method":[16],"of":[17,30,37,46,62,69,78,89],"functional":[18],"reactive":[19],"programming":[20],"(FRP)":[21],"represents":[22,100],"this":[23,105],"simply":[24],"effectively":[26],"as":[27],"modes":[29,61,132,140],"an":[31,112],"otherwise":[32],"signal.":[34],"In":[35],"variants":[36],"FRP":[38],"based":[39],"on":[40,51],"arrows,":[41],"programs":[42],"are":[43,73],"composed":[44],"not":[45],"but":[48],"rather":[49],"functions":[50,56],"signals.":[52],"Accordingly,":[53],"these":[54],"can":[57],"switch":[58],"between":[59,131],"operation.":[63],"However,":[64],"the":[65,82],"literature":[66],"emphasizes":[67],"expressions":[68],"mode":[70],"switching":[71,110],"that":[72,99,136],"unnecessarily":[74],"limited.":[75],"An":[76],"analysis":[77],"their":[79],"limitations":[80],"indicates":[81],"need":[83],"for":[84],"two":[85,138],"new,":[86],"primitive":[87],"transformations":[88,93],"functions.":[91],"These":[92],"help":[94],"to":[95,108],"define":[96],"a":[97,128,134],"monad":[98],"function":[102],"modes,":[103],"allows":[106],"programmers":[107],"express":[109],"imperative,":[113],"script-like":[114],"style.":[115],"This":[116],"scripting":[117],"interface":[118],"gains":[119],"flexibility":[120],"power":[122],"from":[123],"several":[124,148],"novel":[125],"operations,":[126],"including":[127],"general-purpose":[129],"mapping":[130],"combination":[135],"mixes":[137],"concurrent":[139],"into":[141],"one.":[142],"We":[143],"demonstrate":[144],"its":[145],"usefulness":[146],"with":[147],"examples.":[149]},"counts_by_year":[{"year":2023,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
