{"title":"使用示例传播的程序合成","authors":"N. Mulleners, J. Jeuring, B. Heeren","doi":"10.48550/arXiv.2210.13873","DOIUrl":null,"url":null,"abstract":"We present Scrybe, an example-based synthesis tool for a statically-typed functional programming language, which combines top-down deductive reasoning in the style of $\\lambda^2$ with Smyth-style live bidirectional evaluation. During synthesis, example constraints are propagated through sketches to prune and guide the search. This enables Scrybe to make more effective use of functions provided in the context. To evaluate our tool, it is run on the combined, largely disjoint, benchmarks of $\\lambda^2$ and Myth. Scrybe is able to synthesize most of the combined benchmark tasks.","PeriodicalId":293413,"journal":{"name":"International Symposium on Practical Aspects of Declarative Languages","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Program Synthesis Using Example Propagation\",\"authors\":\"N. Mulleners, J. Jeuring, B. Heeren\",\"doi\":\"10.48550/arXiv.2210.13873\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We present Scrybe, an example-based synthesis tool for a statically-typed functional programming language, which combines top-down deductive reasoning in the style of $\\\\lambda^2$ with Smyth-style live bidirectional evaluation. During synthesis, example constraints are propagated through sketches to prune and guide the search. This enables Scrybe to make more effective use of functions provided in the context. To evaluate our tool, it is run on the combined, largely disjoint, benchmarks of $\\\\lambda^2$ and Myth. Scrybe is able to synthesize most of the combined benchmark tasks.\",\"PeriodicalId\":293413,\"journal\":{\"name\":\"International Symposium on Practical Aspects of Declarative Languages\",\"volume\":\"4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-10-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Symposium on Practical Aspects of Declarative Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.48550/arXiv.2210.13873\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Symposium on Practical Aspects of Declarative Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.48550/arXiv.2210.13873","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
We present Scrybe, an example-based synthesis tool for a statically-typed functional programming language, which combines top-down deductive reasoning in the style of $\lambda^2$ with Smyth-style live bidirectional evaluation. During synthesis, example constraints are propagated through sketches to prune and guide the search. This enables Scrybe to make more effective use of functions provided in the context. To evaluate our tool, it is run on the combined, largely disjoint, benchmarks of $\lambda^2$ and Myth. Scrybe is able to synthesize most of the combined benchmark tasks.