{"title":"将精炼的逻辑程序翻译成水星","authors":"R. Colvin, I. Hayes, D. Hemer, P. Strooper","doi":"10.1145/563857.563806","DOIUrl":null,"url":null,"abstract":"A refinement calculus provides a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we investigate the use of Mercury as the target implementation language for a refinement calculus for logic programs. We describe a prototype tool for translating programs in our specification language to Mercury code. More generally, we investigate the advantages that Mercury has over standard Prolog, with respect to developing correct programs from specifications.","PeriodicalId":136130,"journal":{"name":"Australasian Computer Science Conference","volume":"79 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Translating Refined Logic Programs to Mercury\",\"authors\":\"R. Colvin, I. Hayes, D. Hemer, P. Strooper\",\"doi\":\"10.1145/563857.563806\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A refinement calculus provides a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we investigate the use of Mercury as the target implementation language for a refinement calculus for logic programs. We describe a prototype tool for translating programs in our specification language to Mercury code. More generally, we investigate the advantages that Mercury has over standard Prolog, with respect to developing correct programs from specifications.\",\"PeriodicalId\":136130,\"journal\":{\"name\":\"Australasian Computer Science Conference\",\"volume\":\"79 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Australasian Computer Science Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/563857.563806\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Australasian Computer Science Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/563857.563806","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A refinement calculus provides a method for transforming specifications to executable code, maintaining the correctness of the code with respect to its specification. In this paper we investigate the use of Mercury as the target implementation language for a refinement calculus for logic programs. We describe a prototype tool for translating programs in our specification language to Mercury code. More generally, we investigate the advantages that Mercury has over standard Prolog, with respect to developing correct programs from specifications.