You cannot apply for this job anymore (deadline was 2 Sep 2021).
Browse the current job offers or choose an item in the top navigation above.
Project Problem Outline
There is a lack of frameworks and tools that aid language designers in defining and implementing languages in a way that strikes a balance between:
Definitional interpreters are an attractive style of language definition, since they are executable by construction. The key idea of a definitional interpreter is to define an object language by implementing an interpreter for it in a second, better-understood meta-language. There is no shortage of meta-languages that can be used to implement definitional interpreters, but existing meta-languages do not strike a satisfactory balance between declarativity, executability, and verifiability. Executability and efficiency typically comes at the cost of sacrificing declarativity and verifiability, and vice versa. The proposed Ph.D. project revolves around the development of a new language for defining languages that addresses this shortcoming. The vision is to provide a framework and tool that generates efficient language run times from declarative and verifiable language definitions. The goal of the Ph.D. project is to contribute to this vision.
Context: Scopes-and-Frames
Recent work on scopes-and-frames introduced a set of memory primitives for implementing lexical name binding (such as binders in λ calculus), and non-lexical name binding (such as module imports, class inheritance, etc.). Scopes-and-frames are:
But, to date, scopes-and-frames have not been integrated into any definition language that strikes a balance between the concerns above.
Potential Lines of Research
There are several research objectives that could be explored as part of this project. For example:
About the Position
We are looking for a versatile candidate who can contribute to the development of theoretical foundations, design of meta-languages, implementation and integration of languages and libraries in the language workbench, and evaluate the new techniques in language design case studies.
For more information see the publications on scope graphs. For this project see especially the ESOP’15, ECOOP’16, POPL’18, and ECOOP’19 papers.
The PI on the project is Casper Bach Poulsen. The PhD student will be co-supervised by Eelco Visser.
We are looking for an excellent candidate with the following qualifications, knowledge, and skills:
Fixed-term contract: 4 years.
TU Delft offers PhD-candidates a 4-year contract, with an official go/no go progress assessment after one year. Salary and benefits are in accordance with the Collective Labour Agreement for Dutch Universities, increasing from € 2395 per month in the first year to € 3061 in the fourth year. As a PhD candidate you will be enrolled in the TU Delft Graduate School. The TU Delft Graduate School provides an inspiring research environment with an excellent team of supervisors, academic staff and a mentor. The Doctoral Education Programme is aimed at developing your transferable, discipline-related and research skills.
The TU Delft offers a customisable compensation package, discounts on health insurance and sport memberships, and a monthly work costs contribution. Flexible work schedules can be arranged. For international applicants we offer the Coming to Delft Service and Partner Career Advice to assist you with your relocation.
Delft University of Technology is built on strong foundations. As creators of the world-famous Dutch waterworks and pioneers in biotech, TU Delft is a top international university combining science, engineering and design. It delivers world class results in education, research and innovation to address challenges in the areas of energy, climate, mobility, health and digital society. For generations, our engineers have proven to be entrepreneurial problem-solvers, both in business and in a social context. At TU Delft we embrace diversity and aim to be as inclusive as possible (see our Code of Conduct). Together, we imagine, invent and create solutions using technology to have a positive impact on a global scale.
Challenge. Change. Impact!
The Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) brings together three disciplines - electrical engineering, mathematics and computer science. Combined, they reinforce each other and are the driving force behind the technology we use in our daily lives. Technology such as the electricity grid, which our faculty is helping to make future-proof. We are also working on a world in which humans and computers reinforce each other. We are mapping out disease processes using single cell data, and using mathematics to simulate gigantic ash plumes after a volcanic eruption. There is plenty of room here for ground-breaking research. We educate innovative engineers and have excellent labs and facilities that underline our strong international position. In total, more than 1,100 employees and 4,000 students work and study in this innovative environment.
Click here to go to the website of the Faculty of Electrical Engineering, Mathematics and Computer Science.
Department
The Software Technology (ST) Department is one of the leading Dutch departments in research and academic education in computer science, employing over 150 people. The ST Department is responsible for a large part of the curriculum of the bachelor’s and master’s programmes in Computer Science as well as the master’s programme Embedded Systems. The inspiration for its research topics is largely derived from technical ICT problems in industry and society related to large-scale distributed processing, embedded systems, programming productivity, and web-based information analysis.
The Programming Languages Research Group is an internationally leading research group in programming languages, and active in areas such as language engineering, language design, domain-specific languages, software verification, and program logics. The section employs over 15 people, including academic staff, around 10 PhD students, and two postdoctoral researchers. The group is responsible for programming and programming languages education at the bachelor and master’s levels in the TU Delft Computer Science curriculum.
We like to make it easy for you, sign in for these and other useful features: