Domains vs Expressions: An efficient high-level interface between Aldor and Maple

C. E. Oancea, S. M. Watt


This paper examines what is required to use Aldor libraries to extend Maple in an effective and natural way. This represents a non-traditional approach to structuring computer algebra software: using an efficient, compiled language, designed for writing large complex mathematical libraries together with a top-level system based on user-interface priorities and ease of scripting. Our method involves the generation of Maple, C and Aldor stub code, uses a number of supporting modules, and relies on an enhanced foreign function interface for Maple. Since the language models of Maple and Aldor differ radically, run-time code must implement a non-trivial semantic correspondence. The Aldor functions run tightly coupled to the Maple environment, able to directly and efficiently manipulate Maple data objects directly. We call the overall system {\sl Alma}.