skip to main content
10.1145/114054.114090acmconferencesArticle/Chapter ViewAbstractPublication PagesaplConference Proceedingsconference-collections
Article
Free Access

Automatic synthesis of the inverses of APL functions

Authors Info & Claims
Published:01 July 1991Publication History

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.

References

  1. 1.Brown, J. A., Pakin S., Polivka, R. P., APL2 at a Glance, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. 3.Iverson, Kenneth, The Principles of J, pp 1-15, APL News, Volume 22 Number 3, 1990.Google ScholarGoogle Scholar
  4. 4.Polivka, R. P., Pakin S. APL: The Language and its Usage, 1975, Prentice Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Rumelhart, D.E., McClelland J. L., Parallel Distributed Processing, Vol. I, Foundations, page 329, 1988 MIT Press.Google ScholarGoogle Scholar

Index Terms

  1. Automatic synthesis of the inverses of APL functions

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        APL '91: Proceedings of the international conference on APL '91
        July 1991
        396 pages
        ISBN:0897914414
        DOI:10.1145/114054

        Copyright © 1991 Author

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 July 1991

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article
      • Article Metrics

        • Downloads (Last 12 months)28
        • Downloads (Last 6 weeks)6

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader