Abstrakt. Programmeringsspråk inkluderar ofta specialiserad syntax för vanliga datatyper (t.ex. Listor) och vissa bygger också in stöd för specifika specialiserade datatyper (t.ex. reguljära uttryck), men användardefinierade typer måste använda allmän syntax. Frustration med detta orsakar utvecklare att använda strängar, snarare än strukturerade data, med alarmerande frekvens, vilket leder till korrekthet, prestanda, säkerhet och användbarhet problem. Att tillåta biblioteksleverantörer att modulärt utvidga ett språk med ny syntax skulle kunna bidra till att lösa dessa problem. Tyvärr begränsar tidigare mekanismer antingen expressiviteten eller är inte säkert kompatibla: individuellt entydiga förlängningar kan fortfarande orsaka tvetydigheter när de används tillsammans. Vi introducerar typ-specifika språk (TSLs): logik associerad med en typ som bestämmer hur kropparna av generiska ordagranna, som kan innehålla godtycklig syntax, tolkas och utvecklas, hygieniskt. TSL för en typ åberopas endast när en ordagrann dyker upp där en term av den typen förväntas, vilket garanterar icke-inblandning. Vi ger bevis som stöder tillämpligheten av detta tillvägagångssätt och formellt specificerar det med en dubbelriktad utformning av semantik för Wyvern programmeringsspråk.
Wyvern programmeringsspråk införde en allmän ram för att skriva syntax förlängningar som denna REF.
Safely Composable Type-Specific Languages
{'venue': 'ECOOP', 'journal': None, 'mag_field_of_study': ['Computer Science']}