{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/108715"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/108715","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Compiling high-level scripting languages to performant code","abstract":"The popularity of data- and scientific-oriented applications, the abundance of on-demand compute resources, and the scarcity of domain expert programmers have given rise to high- level scripting languages. These high-level scripting languages offer a fast way to translate ideas into code, but tend to incur a heavy performance overhead. To alleviate the performance penalty, each implementation of these languages often offer a compilation path to a subset of the language. In this thesis, we present the design and implementation of the Wolfram Language compiler, the production compiler for the Wolfram Language. We show how popular language features and runtime behavior, expected by Wolfram Language developers, are efficiently implemented within the compiler. We then show how the compiler provides a friction-less path to migrate programs from the interpreter to the compiler. We evaluate the compiler and show that the compiled code matches the performance of a highly tuned hand-written C code. Unlike existing techniques that compile a subset of the language, the compiler sup- ports the entirety of the Wolfram Language. We show why the compiler is a new model of development for programmers and showcase some applications of the compiler. The compiler has been released as a prominent feature of the Wolfram Engine, is readily available to developers, and is used by internal and external users to drive Wolfram Language features and implementations.","abstract_html":"The popularity of data- and scientific-oriented applications, the abundance of on-demand compute resources, and the scarcity of domain expert programmers have given rise to high- level scripting languages. These high-level scripting languages offer a fast way to translate ideas into code, but tend to incur a heavy performance overhead. To alleviate the performance penalty, each implementation of these languages often offer a compilation path to a subset of the language. In this thesis, we present the design and implementation of the Wolfram Language compiler, the production compiler for the Wolfram Language. We show how popular language features and runtime behavior, expected by Wolfram Language developers, are efficiently implemented within the compiler. We then show how the compiler provides a friction-less path to migrate programs from the interpreter to the compiler. We evaluate the compiler and show that the compiled code matches the performance of a highly tuned hand-written C code. Unlike existing techniques that compile a subset of the language, the compiler sup- ports the entirety of the Wolfram Language. We show why the compiler is a new model of development for programmers and showcase some applications of the compiler. The compiler has been released as a prominent feature of the Wolfram Engine, is readily available to developers, and is used by internal and external users to drive Wolfram Language features and implementations.","abstract_has_math":false,"creators":["Dakkak, Abdul Majed"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Hwu, Wen-Mei W","Wickham-Jones, Charles Thomas","Adve, Vikram S","Padua, David A"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2020,"date_issued":"2020-10-07T22:50:02Z","date_published":"2020-10-07T22:50:02Z","updated_at":"2026-07-22T22:24:48Z","subjects":["compiler","high-performance","high-level","scripting","symbolic","typesystem","wolfram","mathematica","cas"],"languages":["en"],"rights":["Copyright 2020 Abdul Dakkak"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/108715","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Hwu, Wen-Mei W","Wickham-Jones, Charles Thomas","Adve, Vikram S","Padua, David A"]},{"key":"dc:creator","label":"Author","values":["Dakkak, Abdul Majed"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2020-10-07T22:50:02Z","2022-10-07T22:50:13Z","2020-07-17","2020-08"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["compiler","high-performance","high-level","scripting","symbolic","typesystem","wolfram","mathematica","cas"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2020 Abdul Dakkak"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/108715"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["The popularity of data- and scientific-oriented applications, the abundance of on-demand compute resources, and the scarcity of domain expert programmers have given rise to high- level scripting languages. These high-level scripting languages offer a fast way to translate ideas into code, but tend to incur a heavy performance overhead. To alleviate the performance penalty, each implementation of these languages often offer a compilation path to a subset of the language. In this thesis, we present the design and implementation of the Wolfram Language compiler, the production compiler for the Wolfram Language. We show how popular language features and runtime behavior, expected by Wolfram Language developers, are efficiently implemented within the compiler. We then show how the compiler provides a friction-less path to migrate programs from the interpreter to the compiler. We evaluate the compiler and show that the compiled code matches the performance of a highly tuned hand-written C code. Unlike existing techniques that compile a subset of the language, the compiler sup- ports the entirety of the Wolfram Language. We show why the compiler is a new model of development for programmers and showcase some applications of the compiler. The compiler has been released as a prominent feature of the Wolfram Engine, is readily available to developers, and is used by internal and external users to drive Wolfram Language features and implementations.","Submission published under a 24 month embargo labeled 'Closed Access', the embargo will last until 2022-08-01","The student, Abdul Dakkak, accepted the attached license on 2020-07-16 at 15:01.","The student, Abdul Dakkak, submitted this Dissertation for approval on 2020-07-16 at 15:06.","This Dissertation was approved for publication on 2020-07-17 at 09:50.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15663 on 2020-10-02 at 15:51:21","Made available in DSpace on 2020-10-07T22:50:02Z (GMT). No. of bitstreams: 2 DAKKAK-DISSERTATION-2020.pdf: 4001543 bytes, checksum: 24a209842cc7a59cc96a601e3df59aa0 (MD5) LICENSE.txt: 4209 bytes, checksum: 2f6200d5239ab9d048c0f7040aea04ce (MD5) Previous issue date: 2020-07-17","Embargo set by: Seth Robbins for item 116344 Lift date: 2022-10-07T22:50:13Z Reason: Author requested closed access (OA after 2yrs) in Vireo ETD system","Author requested closed access (OA after 2yrs) in Vireo ETD system","Limited"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Compiling high-level scripting languages to performant code"]}]}],"canonical_facts":{"dc:contributor":["Hwu, Wen-Mei W","Wickham-Jones, Charles Thomas","Adve, Vikram S","Padua, David A"],"dc:creator":["Dakkak, Abdul Majed"],"dc:date":["2020-10-07T22:50:02Z","2022-10-07T22:50:13Z","2020-07-17","2020-08"],"dc:description":["The popularity of data- and scientific-oriented applications, the abundance of on-demand compute resources, and the scarcity of domain expert programmers have given rise to high- level scripting languages. These high-level scripting languages offer a fast way to translate ideas into code, but tend to incur a heavy performance overhead. To alleviate the performance penalty, each implementation of these languages often offer a compilation path to a subset of the language. In this thesis, we present the design and implementation of the Wolfram Language compiler, the production compiler for the Wolfram Language. We show how popular language features and runtime behavior, expected by Wolfram Language developers, are efficiently implemented within the compiler. We then show how the compiler provides a friction-less path to migrate programs from the interpreter to the compiler. We evaluate the compiler and show that the compiled code matches the performance of a highly tuned hand-written C code. Unlike existing techniques that compile a subset of the language, the compiler sup- ports the entirety of the Wolfram Language. We show why the compiler is a new model of development for programmers and showcase some applications of the compiler. The compiler has been released as a prominent feature of the Wolfram Engine, is readily available to developers, and is used by internal and external users to drive Wolfram Language features and implementations.","Submission published under a 24 month embargo labeled 'Closed Access', the embargo will last until 2022-08-01","The student, Abdul Dakkak, accepted the attached license on 2020-07-16 at 15:01.","The student, Abdul Dakkak, submitted this Dissertation for approval on 2020-07-16 at 15:06.","This Dissertation was approved for publication on 2020-07-17 at 09:50.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15663 on 2020-10-02 at 15:51:21","Made available in DSpace on 2020-10-07T22:50:02Z (GMT). No. of bitstreams: 2 DAKKAK-DISSERTATION-2020.pdf: 4001543 bytes, checksum: 24a209842cc7a59cc96a601e3df59aa0 (MD5) LICENSE.txt: 4209 bytes, checksum: 2f6200d5239ab9d048c0f7040aea04ce (MD5) Previous issue date: 2020-07-17","Embargo set by: Seth Robbins for item 116344 Lift date: 2022-10-07T22:50:13Z Reason: Author requested closed access (OA after 2yrs) in Vireo ETD system","Author requested closed access (OA after 2yrs) in Vireo ETD system","Limited"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/108715"],"dc:language":["en"],"dc:rights":["Copyright 2020 Abdul Dakkak"],"dc:subject":["compiler","high-performance","high-level","scripting","symbolic","typesystem","wolfram","mathematica","cas"],"dc:title":["Compiling high-level scripting languages to performant code"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:48Z"}