Print Email Facebook Twitter Extending the Domain Specific Language for the Pipelines for Interactive Environments build system Title Extending the Domain Specific Language for the Pipelines for Interactive Environments build system Author Wilms, Ivo (TU Delft Electrical Engineering, Mathematics and Computer Science) Contributor Visser, Eelco (mentor) Konat, G.D.P. (graduation committee) Poulsen, C.B. (mentor) Yorke-Smith, N. (graduation committee) Degree granting institution Delft University of Technology Programme Computer Science Date 2022-07-01 Abstract Build systems speed up builds by reusing build step outputs from previous builds when possible.This requires precise definitions of the dependencies for build steps.PIE is a build system with precise dependencies, but its task definitions in Java are verbose.The PIE DSL allows pipeline developers to write concise definitions of PIE tasks, but the PIE framework has evolved and the PIE DSL cannot express many tasks and projects.This thesis presents PIE DSL 2, which improves on PIE DSL 1 in three areas.It extends the language itself with a module system, generics and support for suppliers and injected values, which allows it to express more tasks within the DSL.There are four improvements for the code base.The first two are a specification of the static semantics in Statix and a new compiler backend that compiles to an AST instead of using string interpolation, both of which extend the features for the DSL that can be expressed.The second pair is constructors for semantic types and tests, which improve development speed of the DSL.The final area we improve is the user experience, which we improve by adding documentation for expressions and types in the PIE DSL.We compare PIE DSL 2 to Java in a case study.Only a single task can be expressed in the DSL, which means that the boilerplate is not reduced.Furthermore, the Java ecosystem has better error detection except for nullability.Finally, the PIE DSL is simpler than Java, but only when the full pipeline is supported by the DSL.We conclude that the DSL is not better than Java for full projects yet, but for tasks that it can express it is a slight improvement over Java.This leads to the hypothesis that it has potential to become better if it can express enough tasks.Due to time constraints, the case study did not use the latest version of the DSL.In theory the latest version of the DSL can express 11 of the 19 tasks, but this has not been verified experimentally.Overall, this thesis makes improvements to the PIE DSL and its environment, but that has not translated to the DSL being better than Java. Subject Pipelines for Interactive EnvironmentsDomain Specific LanguagesBuild SystemsSpoofax To reference this document use: http://resolver.tudelft.nl/uuid:567a7faf-1460-4348-8344-4746a18fb0b1 Part of collection Student theses Document type master thesis Rights © 2022 Ivo Wilms Files PDF master_thesis_ivo_final_v2.pdf 648.99 KB Close viewer /islandora/object/uuid:567a7faf-1460-4348-8344-4746a18fb0b1/datastream/OBJ/view