{"title":"Formally correct translation of DSP algorithms specified in an asynchronous applicative language","authors":"M. Freericks, A. Knoll","doi":"10.1109/ICASSP.1993.319144","DOIUrl":null,"url":null,"abstract":"The functional programming language ALDiSP, which is specially tailored to the needs of DSP programming, is presented. ALDiSP incorporates data streams and an asynchronous control concept based on only one construct, the suspension. A comparison with traditional DSP languages like SILAGE is made. It is shown how ALDiSP programs can be translated into efficient code using the techniques of abstract interpretation and partial evaluation, in which a program is applied to symbolic input, resulting in usage information for all possible runs. This information is used to optimize the program by reconstructing it. Both the compilation of functions and the construction of a compile-time schedule make use of this approach.<<ETX>>","PeriodicalId":428449,"journal":{"name":"1993 IEEE International Conference on Acoustics, Speech, and Signal Processing","volume":"31 5","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-04-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"1993 IEEE International Conference on Acoustics, Speech, and Signal Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICASSP.1993.319144","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
The functional programming language ALDiSP, which is specially tailored to the needs of DSP programming, is presented. ALDiSP incorporates data streams and an asynchronous control concept based on only one construct, the suspension. A comparison with traditional DSP languages like SILAGE is made. It is shown how ALDiSP programs can be translated into efficient code using the techniques of abstract interpretation and partial evaluation, in which a program is applied to symbolic input, resulting in usage information for all possible runs. This information is used to optimize the program by reconstructing it. Both the compilation of functions and the construction of a compile-time schedule make use of this approach.<>