{"title":"Programming with sequences","authors":"U. Reddy","doi":"10.1145/503896.503930","DOIUrl":null,"url":null,"abstract":"Programming can be done using procedural definitions or functional definitions. Procedures involve variables and dynamic concepts and are not the natural tools for defining computations. This dynamism of procedural programs is a hindrance to program productivity and program reliability. Functions are natural means of defining computations and do not involve variables, though their recursive formulations may be as bad as dynamic procedural iterations. An alternative style of programming is proposed here for defining functions without using recursion. This style uses abstract sequences defined using recurrence relations. It is shown that the abstract sequences aid reasoning about programs as their properties can be shown using elementary induction principles. They correspond to the trajectories of procedural programs in their state spaces and so can also be used to semantically characterize procedural loops.","PeriodicalId":184493,"journal":{"name":"ACM-SE 20","volume":"71 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1982-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM-SE 20","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/503896.503930","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Programming can be done using procedural definitions or functional definitions. Procedures involve variables and dynamic concepts and are not the natural tools for defining computations. This dynamism of procedural programs is a hindrance to program productivity and program reliability. Functions are natural means of defining computations and do not involve variables, though their recursive formulations may be as bad as dynamic procedural iterations. An alternative style of programming is proposed here for defining functions without using recursion. This style uses abstract sequences defined using recurrence relations. It is shown that the abstract sequences aid reasoning about programs as their properties can be shown using elementary induction principles. They correspond to the trajectories of procedural programs in their state spaces and so can also be used to semantically characterize procedural loops.