{"id":"https://openalex.org/W4254154023","doi":"https://doi.org/10.1145/3136040.3136056","title":"A Haskell compiler for signal transforms","display_name":"A Haskell compiler for signal transforms","publication_year":2017,"publication_date":"2017-10-12","ids":{"openalex":"https://openalex.org/W4254154023","doi":"https://doi.org/10.1145/3136040.3136056"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/3136040.3136056","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-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/A5091390132","display_name":"Geoffrey Mainland","orcid":"https://orcid.org/0000-0002-0328-8594"},"institutions":[{"id":"https://openalex.org/I72816309","display_name":"Drexel University","ror":"https://ror.org/04bdffz58","country_code":"US","type":"education","lineage":["https://openalex.org/I72816309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Geoffrey Mainland","raw_affiliation_strings":["Drexel University, USA"],"affiliations":[{"raw_affiliation_string":"Drexel University, USA","institution_ids":["https://openalex.org/I72816309"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5068650358","display_name":"Jeremy Johnson","orcid":"https://orcid.org/0000-0001-8333-5532"},"institutions":[{"id":"https://openalex.org/I72816309","display_name":"Drexel University","ror":"https://ror.org/04bdffz58","country_code":"US","type":"education","lineage":["https://openalex.org/I72816309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jeremy Johnson","raw_affiliation_strings":["Drexel University, USA"],"affiliations":[{"raw_affiliation_string":"Drexel University, USA","institution_ids":["https://openalex.org/I72816309"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.789,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.58607,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":75,"max":78},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Performance Optimization","score":0.9994,"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/T10054","display_name":"Parallel Computing and Performance Optimization","score":0.9994,"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/T11697","display_name":"Floating-Point Arithmetic in Scientific Computation","score":0.9992,"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":"Program Analysis and Verification Techniques","score":0.9896,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.9813107},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5580662},{"id":"https://openalex.org/keywords/high-precision-computation","display_name":"High-Precision Computation","score":0.501954},{"id":"https://openalex.org/keywords/signal","display_name":"SIGNAL (programming language)","score":0.41833603}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9813107},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8539463},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8397621},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.70709604},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.582655},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5580662},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.5024705},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4600283},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.45282206},{"id":"https://openalex.org/C2779843651","wikidata":"https://www.wikidata.org/wiki/Q7390335","display_name":"SIGNAL (programming language)","level":2,"score":0.41833603},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3569988},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3281418},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.10549492},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"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/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/3136040.3136056","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":38,"referenced_works":["https://openalex.org/W1528193315","https://openalex.org/W1528855243","https://openalex.org/W1966904279","https://openalex.org/W1970782371","https://openalex.org/W1979039632","https://openalex.org/W1979811002","https://openalex.org/W1989739006","https://openalex.org/W1990860452","https://openalex.org/W1996060755","https://openalex.org/W2022028092","https://openalex.org/W2024381286","https://openalex.org/W2036753530","https://openalex.org/W2044417921","https://openalex.org/W2045810654","https://openalex.org/W2072277531","https://openalex.org/W2102182691","https://openalex.org/W2104958979","https://openalex.org/W2105463364","https://openalex.org/W2107214848","https://openalex.org/W2111334029","https://openalex.org/W2112205453","https://openalex.org/W2134572726","https://openalex.org/W2135031801","https://openalex.org/W2140647971","https://openalex.org/W2141576692","https://openalex.org/W2146236588","https://openalex.org/W2148599839","https://openalex.org/W2154697693","https://openalex.org/W2160183719","https://openalex.org/W2163491234","https://openalex.org/W2164197394","https://openalex.org/W2169691387","https://openalex.org/W2512335183","https://openalex.org/W2595625343","https://openalex.org/W2904838066","https://openalex.org/W4205877922","https://openalex.org/W4240054498","https://openalex.org/W4251235123"],"related_works":["https://openalex.org/W4297749046","https://openalex.org/W4246781209","https://openalex.org/W285832984","https://openalex.org/W283806354","https://openalex.org/W2192862863","https://openalex.org/W2129129872","https://openalex.org/W2098374496","https://openalex.org/W1757338326","https://openalex.org/W1583431014","https://openalex.org/W1573380057"],"abstract_inverted_index":{"Building":[0],"a":[1,9,20,77],"reusable,":[2,47],"auto-tuning":[3],"code":[4,107],"generator":[5],"from":[6,103],"scratch":[7],"is":[8,46],"challenging":[10],"problem,":[11],"requiring":[12],"many":[13,37],"careful":[14],"design":[15,35,56],"choices.":[16],"We":[17,89],"describe":[18],"HSpiral,":[19],"Haskell":[21,38],"compiler":[22],"for":[23,109],"signal":[24],"transforms":[25],"that":[26,43,83],"builds":[27],"on":[28,106],"the":[29,55,73,80,110],"foundational":[30],"work":[31],"of":[32,57,70,79],"Spiral.":[33],"Our":[34],"leverages":[36],"language":[39],"features":[40],"to":[41,63,66,93,100],"ensure":[42],"our":[44,58,98],"framework":[45],"flexible,":[48],"and":[49,76],"efficient.":[50],"As":[51],"well":[52],"as":[53],"describing":[54],"system,":[59],"we":[60],"show":[61,91],"how":[62,92],"extend":[64],"it":[65],"support":[67],"new":[68],"classes":[69],"transforms,":[71],"including":[72],"number-theoretic":[74],"transform":[75],"variant":[78],"split-radix":[81],"algorithm":[82],"results":[84,102],"in":[85],"reduced":[86],"operation":[87],"counts.":[88],"also":[90],"incorporate":[94],"rewrite":[95],"rules":[96],"into":[97],"system":[99],"reproduce":[101],"previous":[104],"literature":[105],"generation":[108],"fast":[111],"Fourier":[112],"transform.":[113]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4254154023","counts_by_year":[{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2}],"updated_date":"2024-11-27T08:36:45.596089","created_date":"2022-05-12"}