{"id":"https://openalex.org/W2007074710","doi":"https://doi.org/10.1145/2723372.2735359","title":"The Flatter, the Better","display_name":"The Flatter, the Better","publication_year":2015,"publication_date":"2015-05-27","ids":{"openalex":"https://openalex.org/W2007074710","doi":"https://doi.org/10.1145/2723372.2735359","mag":"2007074710"},"language":"en","primary_location":{"id":"doi:10.1145/2723372.2735359","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2723372.2735359","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data","raw_type":"proceedings-article"},"type":"conference-paper","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/A5019733247","display_name":"Alexander Ulrich","orcid":null},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Alexander Ulrich","raw_affiliation_strings":["Universit\u00e4t T\u00fcbingen, T\u00fcbingen, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universit\u00e4t T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5088806837","display_name":"Torsten Grust","orcid":"https://orcid.org/0000-0002-8279-0493"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Torsten Grust","raw_affiliation_strings":["Universit\u00e4t T\u00fcbingen, T\u00fcbingen, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universit\u00e4t T\u00fcbingen, T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I8087733"],"apc_list":null,"apc_paid":null,"fwci":1.5884,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.83231821,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1421","last_page":"1426"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9995999932289124,"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"}},"topics":[{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9995999932289124,"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"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991999864578247,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9976000189781189,"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/computer-science","display_name":"Computer science","score":0.8670229911804199},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8419721126556396},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7821952104568481},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7245728969573975},{"id":"https://openalex.org/keywords/flattening","display_name":"Flattening","score":0.7130652666091919},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5134707093238831},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.512519121170044},{"id":"https://openalex.org/keywords/query-language","display_name":"Query language","score":0.5054380893707275},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.43557628989219666},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.4285314083099365},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.42824694514274597},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.42634934186935425},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3876652121543884},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.38703152537345886},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.20453685522079468}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8670229911804199},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8419721126556396},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7821952104568481},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7245728969573975},{"id":"https://openalex.org/C19444555","wikidata":"https://www.wikidata.org/wiki/Q212750","display_name":"Flattening","level":2,"score":0.7130652666091919},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5134707093238831},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.512519121170044},{"id":"https://openalex.org/C192028432","wikidata":"https://www.wikidata.org/wiki/Q845739","display_name":"Query language","level":2,"score":0.5054380893707275},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.43557628989219666},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4285314083099365},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.42824694514274597},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.42634934186935425},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3876652121543884},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.38703152537345886},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.20453685522079468},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","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},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2723372.2735359","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2723372.2735359","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1522042692","https://openalex.org/W1550449994","https://openalex.org/W1561487379","https://openalex.org/W1969621165","https://openalex.org/W1977101058","https://openalex.org/W1992425763","https://openalex.org/W1996541179","https://openalex.org/W2028596183","https://openalex.org/W2089781037","https://openalex.org/W2103670492","https://openalex.org/W2121810937","https://openalex.org/W2163989840","https://openalex.org/W2182283312","https://openalex.org/W2339920159","https://openalex.org/W2580215662","https://openalex.org/W3125241491","https://openalex.org/W4299855426","https://openalex.org/W6684770037"],"related_works":["https://openalex.org/W1602185604","https://openalex.org/W2112263414","https://openalex.org/W1489609867","https://openalex.org/W3004782279","https://openalex.org/W2028779182","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W1590310444","https://openalex.org/W1524436860","https://openalex.org/W4296274916"],"abstract_inverted_index":{"We":[0,119],"demonstrate":[1,57],"the":[2,12,20,34,50,58,77,100],"insides":[3],"and":[4,125],"outs":[5],"of":[6,37,52,60,89,93,108],"a":[7,15,69,87,106,140],"query":[8,39,114,142],"compiler":[9,70],"based":[10,122],"on":[11,123],"flattening":[13,83],"transformation,":[14],"translation":[16],"technique":[17],"designed":[18],"by":[19,99],"programming":[21,79],"language":[22],"community":[23],"to":[24,127],"derive":[25],"efficient":[26],"data-parallel":[27,135],"implementations":[28],"from":[29,139],"iterative":[30],"programs.":[31],"Flattening":[32],"admits":[33],"straightforward":[35],"formulation":[36],"intricate":[38],"logic":[40],"including":[41],"deeply":[42],"nested":[43],"loops":[44],"over":[45],"(possibly":[46],"ordered)":[47],"data":[48,54],"or":[49,134],"construction":[51],"rich":[53],"structures.":[55],"To":[56],"level":[59],"expressiveness":[61],"that":[62,72],"can":[63,116],"be":[64,96],"achieved,":[65],"we":[66],"will":[67,95],"bring":[68],"frontend":[71],"accepts":[73],"queries":[74],"embedded":[75],"into":[76],"Haskell":[78],"language.":[80],"Compilation":[81],"via":[82],"takes":[84],"places":[85],"in":[86],"series":[88],"simple":[90],"steps":[91],"all":[92],"which":[94,112],"made":[97],"tangible":[98],"demonstration.":[101],"The":[102],"final":[103],"output":[104],"is":[105],"program":[107],"lifted":[109],"primitive":[110],"operations":[111],"existing":[113],"engines":[115,136],"efficiently":[117],"implement.":[118],"provide":[120],"backends":[121],"PostgreSQL":[124],"VectorWise":[126],"make":[128],"this":[129],"point":[130],"however,":[131],"most":[132],"set-oriented":[133],"could":[137],"benefit":[138],"flattening-based":[141],"compiler.":[143]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
