Helvetia

With HELVETIA we explore a lightweight approach to embed new languages into the host language. The approach reuses the existing toolchain of editor, parser, compiler and debugger by leveraging the abstract syntax tree (AST) of the host environment. Different languages cleanly blend into each other and into existing code.

Getting Started

To get started you can either use a ready-made one-click image (suggested), or try to load the code yourself.

One-Click Image

  1. Download the Helvetia distribution.
  2. Launch the executable of your platform:
    • Mac: Helvetia.app
    • Linux: Helvetia.app/Helvetia.sh
    • Windows: Helvetia.app/Helvetia.exe

Load the Code

  1. Download a PharoCore 1.1.2 image.
  2. Evaluate the following script:
Gofer new
   renggli: 'helvetia';
   package: 'Helvetia-Loader';
   load.

Contact

Feel free to ask questions and report bugs on the Pharo mailing-list.

License

Helvetia is licensed under the MIT license.

Publications

  1. Alexandre Bergel, Oscar Nierstrasz, Lukas Renggli, and Jorge Ressia. Domain-Specific Profiling. In Proceedings of the 49th International Conference on Objects, Models, Components and Patterns (TOOLS'11), LNCS 6705 p. 68—82, Springer-Verlag, Berlin, Heidelberg, June 2011. DOI PDF 
  2. Lukas Renggli. Helvetia, Context Specific Languages with Homogeneous Tool Integration. http://scg.unibe.ch/research/helvetia. URL 
  3. Oscar Nierstrasz, Marcus Denker, and Lukas Renggli. Model-Centric, Context-Aware Software Adaptation. In Betty H.C. Cheng, Rogerio Lemos, Holger Giese, Paola Inverardi, and Jeff Magee (Ed.), Software Engineering for Self-Adaptive Systems, LNCS 5525 p. 128-145, Springer-Verlag, 2009. DOI PDF 
  4. Lukas Renggli and Tudor Gîrba. Why Smalltalk Wins the Host Languages Shootout. In Proceedings of International Workshop on Smalltalk Technologies (IWST 2009), p. 107—113, ACM, New York, NY, USA, 2009. DOI PDF 
  5. Lukas Renggli, Marcus Denker, and Oscar Nierstrasz. Language Boxes: Bending the Host Language with Modular Language Changes. In Software Language Engineering: Second International Conference, SLE 2009, Denver, Colorado, October 5-6, 2009, LNCS 5969 p. 274—293, Springer, 2009. DOI PDF 
  6. Lukas Renggli, Tudor Gîrba, and Oscar Nierstrasz. Embedding Languages Without Breaking Tools. In Theo D'Hondt (Ed.), ECOOP'10: Proceedings of the 24th European Conference on Object-Oriented Programming, LNCS 6183 p. 380—404, Springer-Verlag, Maribor, Slovenia, 2010. DOI PDF 
  7. Lukas Renggli, Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Domain-Specific Program Checking. In Jan Vitek (Ed.), Proceedings of the 48th International Conference on Objects, Models, Components and Patterns (TOOLS'10), LNCS 6141 p. 213—232, Springer-Verlag, 2010. DOI PDF 
  8. Lukas Renggli, Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Practical Dynamic Grammars for Dynamic Languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), Malaga, Spain, June 2010. PDF 
  9. Lukas Renggli. Dynamic Language Embedding With Homogeneous Tool Support. PhD thesis, University of Bern, October 2010. PDF 

Last changed by renggli on 18 November 2014