Kiama is a lightweight language processing library for the Scala programming language. It provides Scala programmers with embedded domain-specific languages for attribute grammars and strategy-based term rewriting. This paper provides an introduction to the use of Kiama to solve typical language processing problems by developing analysers and evaluators for a simply-typed lambda calculus. The embeddings of the attribute grammar and rewriting processing paradigms both rely on pattern matching from the base language and each add a simple functional interface that hides details such as attribute caching, circularity checking and strategy representation. The similarities between embeddings for the two processing paradigms show that they have mo...
textNatural language pipelines consist of various natural language algorithms that use the annotatio...
Scala fuses object-oriented and functional programming in a statically typed programming language. I...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...
The Kiama language processing library is a collection of domain-specific languages for software lang...
Embedding domain-specific languages (DSLs) in general-purpose programming languages offers a simpler...
Attribute grammars are a powerful specification paradigm for many language processing tasks, particu...
Attribute grammars are a powerful specification paradigm for many language processing tasks, particu...
AbstractAttribute grammars are a powerful specification paradigm for many language processing tasks,...
Domain-specific languages are often implemented by embedding them in general-purpose programming lan...
We present a method for profiling programs that are written using domain-specific languages. Instead...
This thesis deals with comparing the Scala programming language with other commonly used languages f...
International audienceThis paper presents an experience report of building a Kermeta compiler using ...
Multitier programming languages reduce the complexity of developing distributed systems by developin...
Aliasing is a known source of challenges in the context of imperative object-oriented languages, whi...
Scala fuses object-oriented and functional programming in a statically typed programming language. I...
textNatural language pipelines consist of various natural language algorithms that use the annotatio...
Scala fuses object-oriented and functional programming in a statically typed programming language. I...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...
The Kiama language processing library is a collection of domain-specific languages for software lang...
Embedding domain-specific languages (DSLs) in general-purpose programming languages offers a simpler...
Attribute grammars are a powerful specification paradigm for many language processing tasks, particu...
Attribute grammars are a powerful specification paradigm for many language processing tasks, particu...
AbstractAttribute grammars are a powerful specification paradigm for many language processing tasks,...
Domain-specific languages are often implemented by embedding them in general-purpose programming lan...
We present a method for profiling programs that are written using domain-specific languages. Instead...
This thesis deals with comparing the Scala programming language with other commonly used languages f...
International audienceThis paper presents an experience report of building a Kermeta compiler using ...
Multitier programming languages reduce the complexity of developing distributed systems by developin...
Aliasing is a known source of challenges in the context of imperative object-oriented languages, whi...
Scala fuses object-oriented and functional programming in a statically typed programming language. I...
textNatural language pipelines consist of various natural language algorithms that use the annotatio...
Scala fuses object-oriented and functional programming in a statically typed programming language. I...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...