Skip to content

DSLs

Challenges with Locality and State in ExPL Annotations, Part I

ExPL, the experiment specification language of Helical, relies on user-provided annotations to infer an implicit post-interventional causal structure and query set. Annotations are attached to ExPL expressions and provide a link to the program variables in HyPL. Because ExPL encodes stateful executions, we need to be able to reason about the scope over which stateful operations apply. In this two-part blog post we'll talk about some challenges associated with using these annotations.

DSL Usability Research

In my previous post, I asserted:

...learning a new formal language can itself contribute to the difficulty of encoding an experiment.

This statement was based on assumptions, intuitions, and folk wisdom. I started digging into the DSL usability research to see if I could find explicit support for this statement. This blog post is about what I found.

Jupyter DSLs

One of the broader goals of the Helical project is to make writing, maintaining, and debugging experiments easier and safer for the end-user through a novel domain-specific language. However, learning a new formal language can itself contribute to the difficulty of encoding an experiment. Therefore, we are intersted in mitigating the effects of language learning/novelty. To this end, a Northeastern coop student (Kevin G. Yang) investigated the suitability of using Jupyter notebooks as an execution environment for experiments last year.