Welcome to PLGround!

This website is the artifact of the OOPSLA'22 paper Compositional Embeddings of Domain-Specific Languages. The artifact includes an in-browser implementation of CP and ExT as well as several applications. You can click on the links listed below to view the source code and rendered output.

Try it yourself?

1. Minipedia

Minipedia is a mini document repository of states and cities, which reconstructs a small portion of Wikipedia. Minipedia currently contains the ten smallest countries in the world as well as their capitals. Besides, there are two programmatically sorted lists by area and population.

Microstates

  1. Vatican City State
  2. Principality of Monaco
  3. Republic of Nauru
  4. Tuvalu
  5. Republic of San Marino
  6. Principality of Liechtenstein
  7. Marshall Islands
  8. Federation of Saint Christopher and Nevis
  9. Republic of Maldives
  10. Republic of Malta

Cities

  1. Yaren
  2. Funafuti
  3. San Marino
  4. Vaduz
  5. Majuro
  6. Basseterre
  7. Malé
  8. Valletta

Lists

  1. Smallest Countries by Area
  2. Smallest Countries by Population

Index of ExT Libraries

2. Fractals

General-purpose computation in compositional embeddings enables computational graphics like fractals. The recurring patterns in fractals can be efficiently drawn with the help of linguistic reuse. Five well-known variants of fractals have been implemented:

  1. Sierpiński Carpet
  2. T-Square
  3. Koch Curve
  4. Koch Snowflake
  5. Koch Anti-Snowflake

Note: Koch fractals share a common library: LibKoch.

3. Charts

Charts can be customized in many different ways. The customization of charts shows how compositional embeddings adapt object-oriented design patterns, such as Strategy and Decorator, for type-safe delegation via trait composition.

4. Region DSL

5. Common Subexpression Elimination


Minipedia uses the text of Wikipedia, licensed under CC BY-SA 3.0.