Programming Languages

Presentation at DSLDI 2017

Jonathan Brachthäuser
Alumni
Jonathan Im­manuel Brachthäuser
talks about To­wards Nat­u­ral­is­tic EDSLs using Al­ge­braic Ef­fects at the Work­shop for Do­main Spe­cific Lan­guages, De­sign and Im­ple­men­ta­tion (DSLDI) 2017.

Ab­stract

Do­main spe­cific pro­gram­ming lan­guages bridge the lin­guis­tic and con­cep­tual gap be­tween do­main lan­guages and im­ple­men­ta­tion lan­guages. One as­pect of bridg­ing the gap is to ex­press the do­main spe­cific con­cepts in a lan­guage more nat­ural for the do­main ex­perts.

In re­cent years, in lin­guis­tics, con­cepts from com­puter sci­ence such as ef­fect op­er­a­tions (e.g. shift/reset and con­tin­u­a­tions in gen­eral) have suc­cess­fully been used to pro­vide com­po­si­tional mod­els for nat­ural lan­guage se­man­tics.

We pro­pose to pick up the old theme of nat­u­ral­is­tic DSLs and reeval­u­ate it in the scope of al­ge­braic ef­fects. Build­ing on the in­sights of lin­guists, we demon­strate how lin­guis­tic fea­tures such as anaphora, quan­tifi­ca­tion and im­pli­ca­ture can di­rectly be im­ple­mented in the Dotty pro­gram­ming lan­guage using a li­brary for al­ge­braic ef­fects.

As op­posed to ad hoc im­ple­men­ta­tion tech­niques for nat­u­ral­is­tic DSLs, sys­tem­at­i­cally using al­ge­braic ef­fects and \emph{ef­fect­ful syn­tax} leads to pro­grams that ex­actly com­mu­ni­cate the usage of lin­guis­tic fea­tures in their types, of­fers im­proved error re­port­ing and bet­ter IDE sup­port.

We be­lieve that ef­fect­ful syn­tax opens up a new in­ter­est­ing per­spec­tive on the de­sign and im­ple­men­ta­tion of nat­u­ral­is­tic DSLs.

Fur­ther In­for­ma­tion

Pub­li­ca­tions

To­wards Nat­u­ral­is­tic EDSLs using Al­ge­braic Ef­fects

by Jonathan Im­manuel Brachthäuser

In Work­shop for Do­main Spe­cific Lan­guages, De­sign and Im­ple­men­ta­tion (DSLDI), 2017.

Learn More