ABSTRACT
APL is used to facilitate the automatic inversion and execution of programs which are constructed by strict functional composition. Programs for performing high level functions and their inverses can be logically synthesized and then tested in arbitrary instances. APL is used to compose higher level functions by repeated left application of functions and operators designed expressly so that their syntax is limited to be monadic.A small system of auxiliary functions are sufficient to do the synthesis of inverse programs. This system operates on sequences of applicative functions which must be provided originally with their forward form coded in functional style APL. The system inverts higher level user-defined functions and generates correctly sequenced function calls which are used in testing the synthesized inverses.Using this system, the mechanistic re-formulation of the forward functions and either their exact or even their approximate inverses can be produced and then checked for consistency. Consistency in performance can be randomly tested by evaluating and confirming the validity of the identity R ≡ F-1 F R. This may be done for acceptable comparison tolerances over a representative number of objects named R to which the function F and its inverse F-1 are applied in tandem.
- 1.Brown, J. A., Pakin S., Polivka, R. P., APL2 at a Glance, 1988. Google ScholarDigital Library
- 2.Hudak, P., Wadler, P. (editors) Report on the Programming Language HaskeU, Version 1.0 April 1, 1990, Yale University Document YALEU/DCS/RR-777.Google Scholar
- 3.Iverson, Kenneth, The Principles of J, pp 1-15, APL News, Volume 22 Number 3, 1990.Google Scholar
- 4.Polivka, R. P., Pakin S. APL: The Language and its Usage, 1975, Prentice Hall. Google ScholarDigital Library
- 5.Rumelhart, D.E., McClelland J. L., Parallel Distributed Processing, Vol. I, Foundations, page 329, 1988 MIT Press.Google Scholar
Index Terms
- Automatic synthesis of the inverses of APL functions
Recommendations
Automatic synthesis of the inverses of APL functions
APL is used to facilitate the automatic inversion and execution of programs which are constructed by strict functional composition. Programs for performing high level functions and their inverses can be logically synthesized and then tested in arbitrary ...
SystemCoDesigner—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications
With increasing design complexity, the gap from ESL (Electronic System Level) design to RTL synthesis becomes more and more crucial to many industrial projects. Although several behavioral synthesis tools exist to automatically generate synthesizable ...
A synthesis procedure for flexible logic functions
DATE '98: Proceedings of the conference on Design, automation and test in EuropeCertain applications allow flexibility in the specification of a function f by allowing any function in a subset F to be substituted for f. We call such functions flexible functions. Among the acceptable functions in F, the goal of synthesis is to find ...
Comments