{"title":"foetus - 简单功能程序的终止检查程序","authors":"Andreas Abel","doi":"arxiv-2407.06924","DOIUrl":null,"url":null,"abstract":"We introduce a simple functional language foetus (lambda calculus with\ntuples, constructors and pattern matching) supplied with a termination checker.\nThis checker tries to find a well-founded structural order on the parameters on\nthe given function to prove termination. The components of the check algorithm\nare: function call extraction out of the program text, call graph completion\nand finding a lexical order for the function parameters.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-07-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"foetus - Termination Checker for Simple Functional Programs\",\"authors\":\"Andreas Abel\",\"doi\":\"arxiv-2407.06924\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We introduce a simple functional language foetus (lambda calculus with\\ntuples, constructors and pattern matching) supplied with a termination checker.\\nThis checker tries to find a well-founded structural order on the parameters on\\nthe given function to prove termination. The components of the check algorithm\\nare: function call extraction out of the program text, call graph completion\\nand finding a lexical order for the function parameters.\",\"PeriodicalId\":501197,\"journal\":{\"name\":\"arXiv - CS - Programming Languages\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-07-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Programming Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2407.06924\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2407.06924","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
foetus - Termination Checker for Simple Functional Programs
We introduce a simple functional language foetus (lambda calculus with
tuples, constructors and pattern matching) supplied with a termination checker.
This checker tries to find a well-founded structural order on the parameters on
the given function to prove termination. The components of the check algorithm
are: function call extraction out of the program text, call graph completion
and finding a lexical order for the function parameters.