kiama

A Scala library for language processing.

View the Project on GitHub

Documentation Home

User Manual Examples
Research Reading
Installation
Releases

Research papers and presentations about Kiama

Up: Documentation, Prev: Examples

The following research papers have been published and presentations have been given about Kiama-related topics. The most recent resources are listed first in each category. Some of the conference papers or tutorials also have associated slides.

General

Sloane, A. M. and Roberts, M. Oberon-0 in Kiama. Science of Computer Programming 114 (2015) 20-32.

Sloane, A. M and Roberts, M. Kiama: Domain-Specific Languages for Language Implementation in Scala. Talk and workshop at YOW! LambdaJam, Brisbane, May 2013. Slides Video.

Sloane, A. M. Overview of the Kiama Language Processing Library. Presentation at ScalaSyd September 14, 2011. Slides.

Sloane, A. M. Lightweight Language Processing in Kiama and Scala. Presentation at Scala Days 2010. Video. Slides.

Sloane, A. M. Lightweight Language Processing in Kiama. Tutorial at 3rd Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2009), July 2009. Slides.

Sloane, A. M. Experiences with domain-specific language embedding in Scala. In Proceedings of the 2nd International Workshop on Domain-Specific Program Development (DSPD 2008), J. Lawall and L. Reveillere, Eds.

Attribute grammars

Sloane, A. M., Roberts, M. and Hamey L. G. C. Respect Your Parents: How Attribution and Rewriting Can Get Along. In Proceedings of the International Conference on Software Language Engineering, no. 8706 in Lecture Notes in Computer Science, Springer-Verlag, pp. 191-210. Slides.

Sloane, A. M. and Roberts, M. Domain-specific program profiling and its application to attribute grammars and term rewriting. Science of Computer Programming 96 (2014) 488-510.

Sloane, A. M. Profile-based Abstraction and Analysis of Attribute Grammar Evaluation. In Proceedings of the 5th Conference on Software Language Engineering (SLE 2012), K. Czarnecki and G. Hedin, Eds. Slides.

Sloane, A. M., Kats, L. C. L., and Visser, E. A pure embedding of attribute grammars. Science of Computer Programming, 78(10), October 2013. ScienceDirect. This paper is a heavily revised and extended version of the LDTA 2009 workshop paper.

Sloane, A. M., Kats, L. C. L., and Visser, E. A pure object-oriented embedding of attribute grammars. In Proceedings of the 9th Workshop on Language Descriptions, Tools and Applications (LDTA 2009), J. Vinju and T. Ekman, Eds. Electronic Notes in Theoretical Computer Science, 253(7), September 2010, 205–219, Elsevier. Slides.

Kats, L., Sloane, A. M., and Visser, E. Decorated attribute grammars: Attribute evaluation meets strategic programming. In Proceedings of the International Conference on Compiler Construction (CC 2009), no. 5501 in Lecture Notes in Computer Science, Springer-Verlag, pp. 142–157.

Rewriting

Sloane, A. M., Roberts, M. and Hamey L. G. C. Respect Your Parents: How Attribution and Rewriting Can Get Along. In Proceedings of the International Conference on Software Language Engineering, no. 8706 in Lecture Notes in Computer Science, Springer-Verlag, pp. 191-210. Slides.

Sloane, A. M. and Roberts, M. Domain-specific program profiling and its application to attribute grammars and term rewriting. Science of Computer Programming 96 (2014) 488-510.

Sloane, A. M. Embedding a Rewriting DSL in Scala. Talk at fp-syd, November 19, 2009. Slides.

Pretty printing

Sloane, A. M. Installing Trampolines in Kiama’s Pretty Printer. Talk at fp-syd, June 26, 2013. Slides

Sloane, A. M. Functional Pretty Printing Combinators in Scala. Talk at fp-syd, July 21, 2011. Video Slides.

Examples

Sloane, A. M. Introduction to Partial Evaluation. Talk at fp-syd, October 20, 2011. Slides. This code makes use of Kiama’s pretty-printing and REPL features, plus shows state monads in Scala. Based on Cook and Laemmel’s DSL 2011 tutorial.

Sloane, A. M. Launchbury’s Natural Semantics for Lazy Evaluation. Talk at fp-syd, September 16, 2010. Slides. This code makes some use of Kiama’s rewriting library.

Sloane, A. M., Roberts, M., Buckley, S. and Muscat, S. Monto: A Disintegrated Development Environment. In Proceedings of the International Conference on Software Language Engineering, no. 8706 in Lecture Notes in Computer Science, Springer-Verlag, pp. 211-220. Slides.

Sloane, A. M. Domain-specific names: an application of Scala macros. Presentation at ScalaSyd April 4, 2013. Slides.

Sloane, A. M. String interpolation in Scala 2.10. Presentation at ScalaSyd February 13, 2013. Slides.

Sloane, A. M. sbt-rats: Packrat Parser Generation for Scala. Presentation at ScalaSyd August 8, 2012. Slides. Blog series.

Up: Documentation, Prev: Examples