Abstract

As programming can be considered one of the most creative activities, it needs to be supported by languages and tools even better than it is as of today. Programming languages help programmers to express their thoughts, and executables and tools help them to explore their ideas by making them more tangible. While the languages we speak shape the thoughts we can think, our tools enable us to explore them, turn them into theories, and critically examine them. So, the more languages we speak and better tools we have, the more ideas we can propose and investigate.

Unfortunately, so far both the design and development of language and tools are very technical activities and therefore expensive, unattractive, and not widespread. In our project we will work on providing meta-tool support for allowing programmers to easily and conveniently develop highly customized tools for the task at hand with the premise that this will foster tool development as an exploration strategy that allows for the investigation of ideas and theories previously considered too expensive or even unfeasible.