2024-07-12 –, While Loop (4.2)
Programming tools are increasingly integral to research and analysis in myriad domains, including specialized areas with no formal relation to computer science. Embedded domain-specific languages have the potential to serve these programmers while placing light implementation burdens on language designers. We e aim to deepen our understanding of how programmers use eDSLs and identify user needs to inform future eDSL designs, focusing on Mimi.jl, an EDSL for climate economics research and policy.
Programming tools are increasingly integral to research and analysis in myriad domains, including specialized areas with no formal relation to computer science. Embedded domain-specific languages (eDSLs) have the potential to serve these programmers while placing relatively light implementation burdens on language designers. However, barriers to eDSL use reduce their practical value and adoption. In this paper, we aim to deepen our understanding of how programmers use eDSLs and identify user needs to inform future eDSL designs. We performed a contextual inquiry (9 participants) with domain experts using Mimi, an eDSL for climate change economics modeling. A thematic analysis identified five key themes, including: the interaction between the eDSL and the host language has significant and sometimes unexpected impacts on eDSL user experience, and users preferentially engage with domain-specific communities and code templates rather than host language resources. The needs uncovered in our study offer design considerations for future eDSLs and suggest directions for future DSL usability research.
I am a PhD candidate in the Energy and Resources Group at UC Berkeley advised by Professor David Anthoff, and hold a MSc. in Computer Science advised by Professor Sarah Chasins in the PLAIT lab, also at UC Berkeley. I employ my training in both computer science and environmental economics to carry out interdisciplinary research on the economic impacts of climate change and support policy-making in this area.