{"id":"https://openalex.org/W1958370535","doi":"https://doi.org/10.5075/epfl-thesis-6784","title":"Language Support for Distributed Functional Programming","display_name":"Language Support for Distributed Functional Programming","publication_year":2015,"publication_date":"2015-01-01","ids":{"openalex":"https://openalex.org/W1958370535","doi":"https://doi.org/10.5075/epfl-thesis-6784","mag":"1958370535"},"language":"en","primary_location":{"id":"pmh:oai:infoscience.tind.io:212934","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/212934","pdf_url":"https://infoscience.epfl.ch/record/212934/files/EPFL_TH6784.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://infoscience.epfl.ch/record/212934/files/EPFL_TH6784.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5021433095","display_name":"Heather Miller","orcid":"https://orcid.org/0000-0002-2059-5406"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Miller, Heather","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5021433095"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9998000264167786,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9998000264167786,"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/T11986","display_name":"Scientific Computing and Data Management","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9977999925613403,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/serialization","display_name":"Serialization","score":0.8777434825897217},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.859429121017456},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5045758485794067},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4795103371143341},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.46408364176750183},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.42144230008125305},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.4163919687271118},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.413852334022522},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.27917033433914185},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.27531808614730835}],"concepts":[{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.8777434825897217},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.859429121017456},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5045758485794067},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4795103371143341},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.46408364176750183},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.42144230008125305},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.4163919687271118},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.413852334022522},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.27917033433914185},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.27531808614730835}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:infoscience.tind.io:212934","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/212934","pdf_url":"https://infoscience.epfl.ch/record/212934/files/EPFL_TH6784.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},{"id":"doi:10.5075/epfl-thesis-6784","is_oa":true,"landing_page_url":"https://doi.org/10.5075/epfl-thesis-6784","pdf_url":null,"source":{"id":"https://openalex.org/S4306400488","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"thesis"},{"id":"mag:1958370535","is_oa":false,"landing_page_url":"https://infoscience.epfl.ch/record/212934","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":null}],"best_oa_location":{"id":"pmh:oai:infoscience.tind.io:212934","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/212934","pdf_url":"https://infoscience.epfl.ch/record/212934/files/EPFL_TH6784.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1958370535.pdf","grobid_xml":"https://content.openalex.org/works/W1958370535.grobid-xml"},"referenced_works_count":114,"referenced_works":["https://openalex.org/W38098785","https://openalex.org/W71481032","https://openalex.org/W114285977","https://openalex.org/W143162329","https://openalex.org/W156128227","https://openalex.org/W1480731572","https://openalex.org/W1503902957","https://openalex.org/W1507005739","https://openalex.org/W1518369453","https://openalex.org/W1525370593","https://openalex.org/W1537703524","https://openalex.org/W1556226926","https://openalex.org/W1557561422","https://openalex.org/W1589463184","https://openalex.org/W1606121052","https://openalex.org/W1649645444","https://openalex.org/W1689093460","https://openalex.org/W1692288381","https://openalex.org/W1746258828","https://openalex.org/W1795023635","https://openalex.org/W1830949212","https://openalex.org/W1871201330","https://openalex.org/W1947181641","https://openalex.org/W1965556256","https://openalex.org/W1966526872","https://openalex.org/W1970603441","https://openalex.org/W1971181882","https://openalex.org/W1975579741","https://openalex.org/W1978924650","https://openalex.org/W1980939032","https://openalex.org/W1981393723","https://openalex.org/W1982540003","https://openalex.org/W1983572666","https://openalex.org/W1983587324","https://openalex.org/W1984843285","https://openalex.org/W1984988351","https://openalex.org/W1986804682","https://openalex.org/W2001544104","https://openalex.org/W2001819551","https://openalex.org/W2007492338","https://openalex.org/W2014021676","https://openalex.org/W2021978684","https://openalex.org/W2024234629","https://openalex.org/W2027479817","https://openalex.org/W2031419217","https://openalex.org/W2033348393","https://openalex.org/W2033843600","https://openalex.org/W2035168235","https://openalex.org/W2051629359","https://openalex.org/W2053384008","https://openalex.org/W2056325339","https://openalex.org/W2057475977","https://openalex.org/W2058137890","https://openalex.org/W2058384977","https://openalex.org/W2059895047","https://openalex.org/W2061197966","https://openalex.org/W2061257358","https://openalex.org/W2069107692","https://openalex.org/W2070310827","https://openalex.org/W2072794470","https://openalex.org/W2073904768","https://openalex.org/W2083096988","https://openalex.org/W2084050405","https://openalex.org/W2084143659","https://openalex.org/W2085335712","https://openalex.org/W2087983393","https://openalex.org/W2088921570","https://openalex.org/W2093896470","https://openalex.org/W2094455839","https://openalex.org/W2096403564","https://openalex.org/W2100830825","https://openalex.org/W2101407609","https://openalex.org/W2104959526","https://openalex.org/W2106355420","https://openalex.org/W2110317952","https://openalex.org/W2115128073","https://openalex.org/W2119629818","https://openalex.org/W2120487396","https://openalex.org/W2124753887","https://openalex.org/W2133051483","https://openalex.org/W2135032959","https://openalex.org/W2135106356","https://openalex.org/W2137472273","https://openalex.org/W2137869319","https://openalex.org/W2139099489","https://openalex.org/W2143847610","https://openalex.org/W2143934903","https://openalex.org/W2144541538","https://openalex.org/W2147578933","https://openalex.org/W2150101804","https://openalex.org/W2150848984","https://openalex.org/W2155762556","https://openalex.org/W2156451927","https://openalex.org/W2159377125","https://openalex.org/W2160411358","https://openalex.org/W2161307885","https://openalex.org/W2162635569","https://openalex.org/W2164387399","https://openalex.org/W2164430577","https://openalex.org/W2167541073","https://openalex.org/W2167601585","https://openalex.org/W2173213060","https://openalex.org/W2296715995","https://openalex.org/W2339430689","https://openalex.org/W2404168692","https://openalex.org/W2475005075","https://openalex.org/W2584045800","https://openalex.org/W2619930222","https://openalex.org/W2785690991","https://openalex.org/W2911472304","https://openalex.org/W2914964273","https://openalex.org/W2963511602","https://openalex.org/W2964008919","https://openalex.org/W3144575512"],"related_works":["https://openalex.org/W2095778029","https://openalex.org/W2920817412","https://openalex.org/W2405981421","https://openalex.org/W1760312104","https://openalex.org/W363496388","https://openalex.org/W2788203768","https://openalex.org/W1602115506","https://openalex.org/W2088921570","https://openalex.org/W2042771246","https://openalex.org/W2262930428","https://openalex.org/W2206876877","https://openalex.org/W2898128159","https://openalex.org/W2341242726","https://openalex.org/W2413001351","https://openalex.org/W2746630951","https://openalex.org/W2011305357","https://openalex.org/W3201185843","https://openalex.org/W2767773234","https://openalex.org/W2189171683","https://openalex.org/W2189257662"],"abstract_inverted_index":{"Software":[0,7],"development":[1],"has":[2,9],"taken":[3],"a":[4,17,78,140,160,173,288,331,348,360,392,405,474,480],"fundamental":[5],"turn.":[6],"today":[8],"gone":[10],"from":[11],"simple,":[12],"closed":[13],"programs":[14],"running":[15,83],"on":[16,55,130,164,181,316,401],"single":[18],"machine,":[19],"to":[20,47,93,107,153,158,166,176,199,208,234,253,281,301,324,387,416,434,455],"massively":[21],"open":[22],"programs,":[23],"patching":[24],"together":[25,379],"user":[26],"experiences":[27],"byway":[28,124],"of":[29,34,69,115,125,142,184,197,222,262,265,319,330,356,363,391,404,447,473,483,486,496],"responses":[30],"received":[31],"via":[32],"hundreds":[33],"network":[35,449],"requests":[36,123],"spanning":[37],"multiple":[38,121],"machines.":[39],"At":[40],"the":[41,56,67,70,111,116,147,182,195,263,317,328,354,380,389,402,420,445,471,484],"same":[42],"time,":[43,229],"as":[44,202,204],"data":[45,52,97,408,417,422],"continues":[46],"stockpile,":[48],"systems":[49,84],"for":[50,95,99,119,146,249,342,373,501],"big":[51,96],"analytics":[53],"are":[54,90,276],"rise.":[57],"Yet":[58],"despite":[59],"this":[60,285,370],"trend":[61,264],"towards":[62],"distributing":[63],"computation,":[64],"issues":[65,156],"at":[66,212,217,227,444],"level":[68],"language":[71,150],"and":[72,85,144,157,186,292,352,366,385,463,490,500],"runtime":[73,80],"abound.":[74],"Serialization":[75],"is":[76,232,314,399,431],"still":[77],"costly":[79],"affair,":[81],"crashing":[82],"confounding":[86],"developers.":[87],"Function":[88],"closures":[89,275,300,374],"being":[91,105,225,269],"added":[92],"APIs":[94],"processing":[98],"use":[100],"by":[101,220,427,437],"end-users":[102],"without":[103],"reliably":[104],"able":[106],"transmit":[108],"them":[109],"over":[110],"network.":[112],"And":[113],"much":[114,203],"frameworks":[117,268,368],"developed":[118],"handling":[120],"concurrent":[122,367],"asynchronous":[126],"programming":[127,149,394,468],"facilities":[128],"rely":[129],"blocking":[131],"threads,":[132],"causing":[133],"serious":[134],"scalability":[135],"issues.":[136],"This":[137,170],"thesis":[138,171,286],"describes":[139],"number":[141],"extensions":[143],"libraries":[145],"Scala":[148],"that":[151,297,369],"aim":[152],"address":[154],"these":[155,357],"provide":[159,492],"more":[161,237],"reliable":[162],"foundation":[163,372],"which":[165,410,478],"build":[167],"distributed":[168,266,365,406,421],"systems.":[169],"presents":[172],"new":[174,289,393],"approach":[175,193,341],"serialization":[177,198,210,223,242,251],"called":[178,295,396],"pickling":[179,384],"based":[180,315,400],"idea":[183,403],"generating":[185,250],"composing":[187],"functional":[188,272,487],"pickler":[189],"combinators":[190],"statically.":[191],"The":[192],"shifts":[194],"burden":[196],"compile":[200,213,228],"time":[201,214,462],"possible,":[205],"enabling":[206],"users":[207],"catch":[209],"errors":[211],"rather":[215,418],"than":[216,239,257,419],"runtime.":[218],"Further,":[219],"virtue":[221],"code":[224,252],"generated":[226],"our":[230,247,312,335,340,435,441,451,467,497],"framework":[231],"shown":[233],"be":[235,302],"significantly":[236],"performant":[238],"other":[240,256],"state-of-the-art":[241],"frameworks.":[243],"We":[244,333,465],"also":[245,432],"generalize":[246],"technique":[248],"generic":[254],"functions":[255],"pickling.":[258],"Second,":[259],"in":[260,327,412,461,470,499],"light":[261],"data-parallel":[267],"designed":[270],"around":[271],"patterns":[273],"where":[274],"transmitted":[277],"across":[278],"cluster":[279],"nodes":[280,414],"large-scale":[282],"persistent":[283,407],"datasets,":[284],"introduces":[287],"closure-like":[290],"abstraction":[291],"type":[293,321,329,336],"system,":[294],"spores,":[296,386],"can":[298],"guarantee":[299],"serializable,":[303],"thread-safe,":[304],"or":[305],"even":[306],"have":[307],"custom":[308],"user-defined":[309],"properties.":[310],"Crucially,":[311],"system":[313,337],"principle":[318],"encoding":[320],"information":[322],"corresponding":[323],"captured":[325],"variables":[326],"spore.":[332],"prove":[334],"sound,":[338],"implement":[339],"Scala,":[343],"evaluate":[344],"its":[345,413],"practicality":[346],"through":[347,359],"small":[349],"empirical":[350],"study,":[351],"show":[353],"power":[355],"guarantees":[358],"case":[361],"analysis":[362],"real-world":[364],"safe":[371],"facilitates.":[375],"Finally,":[376],"we":[377,491],"bring":[378],"above":[381],"building":[382],"blocks,":[383],"form":[388,472],"basis":[390],"model":[395,452,469,498],"function-passing.":[397],"Function-passing":[398],"structure":[409],"stores":[411],"transformations":[415],"itself,":[423],"simplifying":[424],"fault":[425,488],"recovery":[426],"design.":[428],"Lazy":[429],"evaluation":[430],"central":[433],"model;":[436],"incorporating":[438],"laziness":[439],"into":[440],"design":[442],"only":[443],"point":[446],"initiating":[448],"communication,":[450],"remains":[453],"easy":[454],"reason":[456],"about":[457],"while":[458],"remaining":[459],"efficient":[460],"memory.":[464],"formalize":[466],"small-step":[475],"operational":[476],"semantics":[477,485],"includes":[479],"precise":[481],"specification":[482],"recovery,":[489],"an":[493],"open-source":[494],"implementation":[495],"Scala.":[502]},"counts_by_year":[],"updated_date":"2026-03-10T16:38:18.471706","created_date":"2025-10-10T00:00:00"}
