Vi beskriver utformningen av ett regelbaserat språk för att uttrycka ändringar i Haskellprogram på ett systematiskt och tillförlitligt sätt. Uppdateringsspråket erbjuder i huvudsak uppdateringskommandon för alla konstruktioner av objektspråket (en delmängd av Haskell). Uppdateringsspråket kan översättas till en kärnkalkyl bestående av en liten uppsättning grundläggande uppdateringar och uppdatering kombinatorer. Den viktigaste konstruktionen av kärnkalkylen är en mekanism för att uppdatera räckvidden som tillåter (och upprätthåller) uppdateringsspecifikationer för definitionen av en symbol tillsammans med alla dess användningsområden. Typen av ett uppdateringsprogram ges av de möjliga typändringar det kan orsaka för ett objektprogram. Vi har utvecklat ett typechange inference system för att automatiskt sluta typändringar för uppdateringar. Uppdateringar för vilka en typändring framgångsrikt kan slutas och som uppfyller ytterligare ett strukturellt tillstånd kan visas för att bevara typ korrekthet av objektprogram. I detta dokument definierar vi Haskell Update Language HULA och ger en översättning till kärnuppdateringskalkylen. Vi illustrerar HULA och dess översättning till kärnkalkylen med flera exempel.
I REF har vi definierat ett uppdateringsspråk för en delmängd av Haskell.
A rule-based language for programming software updates
{'venue': "RULE '02", 'journal': None, 'mag_field_of_study': ['Computer Science']}