Implementation of a logic programming language : R-Maple and its extension to include functions
Benjamin Yu · cIRcle (University of British Columbia) · 2010
The use of logic as a language for communication with computers has been exploited in various research areas. R-Maple is a logic programming language, designed by Paul Voda, which improves on some of the short-comings of Prolog. The implementation details of R-Maple will be discussed. R-Maple is a relational programming language which has relations as its basic objects. It can be extended to include functions to form a functional and relational programming language. The advantage is to increase readability and efficiency during computation. RF-Maple is such a language which results from combining the features of R-Maple with a functional language F-Maple. The semantics of RF-Maple needs to be defined formally. The currently available methods of formalizing the semantics of a programming language are either too complex or insufficient for the task. The theory of pairs [Voda2 84] can be used in formalizing the semantics of RF-Maple. However, introduction of types to the theory is not straight forward. Hence RF-Maple is modified to become a typeless language and its semantics is defined using the theory of pairs.