ECMAScript’s Pipeline Operator for Graal.js

Research output: ThesisMaster's / Diploma thesis

Abstract

JavaScript is currently one of the most used programming languages. Due to this fact, the language is continuously extended by new features. Before those are added, they need to run through a multi-stage proposal process by ECMAScript, to ensure a standardized JavaScript version. To allow users to experiment with and test out different proposals, the Graal.js engine provides experimental features. One of these new proposals is the pipeline operator, which is currently at Stage 2 and one of the most desired features by the community. Graal.js operates on the GraalVM through the Truffle language implementation framework. This enables tooling support and interoperability between several languages. This thesis describes the approach to add the pipeline operator to Graal.js as an experimental feature by using the topic bindings described in the specification. The pipeline itself is desugared to simplify compilation and maintain good performance. Furthermore, the implementation is compared to equivalent code without pipelines and the interoperability with other Truffle languages is explored.
Original languageEnglish
Supervisors/Reviewers
  • Mössenböck, Hanspeter, Supervisor
  • Stadler, Lukas, Co-supervisor
Publisher
Publication statusPublished - Oct 2023

Fields of science

  • 102 Computer Sciences
  • 102009 Computer simulation
  • 102011 Formal languages
  • 102013 Human-computer interaction
  • 102022 Software development
  • 102024 Usability research
  • 102029 Practical computer science

JKU Focus areas

  • Digital Transformation

Cite this