InvX: An automatic function inverter
We have implemented InvX, a system that will mechanically generate inverses for a substantial class of functions. By applying an extended set of function-level axioms at compile-time, expressions for the inverses are transformed so that no unification is required at run-time in many cases. This makes the cost of their execution comparable with that of reduction-based semantics. We have also described the incorporation of InvX in the FLAGSHIP programming environment. InvX has been used successfully on a wide range of examples.
Unable to display preview. Download preview PDF.
- [Ba78]J W Backus; Can Programming be Liberated from the von Neumann Style? A Functional Style and its Algebra of Programs, CACM 21,8, pp. 613–641, (1978)Google Scholar
- [Ba81]J W Backus; The Algebra of functional programs: Function level reasoning, linear equations and extended definitions, In Lecture Notes in Computer Science, Vol 107: Formalization of Programming Concepts, Springer-Verlag, pp. 1–43, (1981)Google Scholar
- [Da88]J Darlington et al; An Introduction to the Flagship Programming Environment, In Proc. CONPAR 88, International Conference Drawing the Threads of Parallelism in Research and Practice, Manchester, pp (A) 75-(A) 88, (September 1988)Google Scholar
- [DFP86]J Darlington, A J Field, H Pull; The Unification of Functional and Logic Languages, D DeGroot, G Lindstrom (editors), "Functional and Logic Programming", Prentice-Hall, (1986)Google Scholar
- [HK 86]P G Harrison, H Khoshnevisan; Efficient Compilation of Linear Recursive Functions into Object-level Loops, SIGPLAN 86 Symposium on Compiler Construction, Palo Alto, (June 1986)Google Scholar
- [HK 88]P G Harrison, H Khoshnevisan; On the Synthesis of Function Inverses, Research Report, Department of Computing, Imperial College, London, (1988)Google Scholar
- [KS89]H Khoshnevisan, K M Sephton; An Automated System for Inverting Functions, Research Report, Department of Computing, Imperial College, London, (1989)Google Scholar
- [Pe87]N Perry; Hope +, Functional Programming Research, Internal Document (IC/FPR/LANG/2.5.1/7), Imperial College, London, (1987).Google Scholar
- [PS87]N Perry, K M Sephton; Hope + Compiler, Functional Programming Research, Internal Document (IC/FPR/LANG/2.5.1/14), Imperial College, London, (1987)Google Scholar