SearcharxivSearch

arXiv subjects

Raphael Jolly

Publications and source records attributed to Raphael Jolly.

3 recordsLinked to original sources

Monadic Remote Invocation

In order to achieve Separation of Concerns in the domain of remote method invocation, a small functional adapter is added atop Java RMI, eliminating the need for every remote object to implement java.rmi.Remote and making it possible to remotely access existing code, unchanged. The Remote monad is introduced, and its implementation and usage are detailed. Reusing the existing, proven technology of RMI allows not to re-invent the underlying network protocol. As a result, orthogonal remote invocation is achieved with little or no implementation effort.

cs.PL

Symbolic Script Programming for Java

Computer algebra in Java is a promising field of development. It has not yet reached an industrial strength, in part because of a lack of good user interfaces. Using a general purpose scripting language can bring a natural mathematical notation, akin to the one of specialized interfaces included in most computer algebra systems. We present such an interface for Java computer algebra libraries, using scripts available in the JSR 223 framework. We introduce the concept of `symbolic programming' and show its usefulness by prototypes of symbolic polynomials and polynomial rings.

cs.SC

How to turn a scripting language into a domain specific language for computer algebra

We have developed two computer algebra systems, meditor [Jolly:2007] and JAS [Kredel:2006]. These CAS systems are available as Java libraries. For the use-case of interactively entering and manipulating mathematical expressions, there is a need of a scripting front-end for our libraries. Most other CAS invent and implement their own scripting interface for this purpose. We, however, do not want to reinvent the wheel and propose to use a contemporary scripting language with access to Java code. In this paper we discuss the requirements for a scripting language in computer algebra and check whether the languages Python, Ruby, Groovy and Scala meet these requirements. We conclude that, with minor problems, any of these languages is suitable for our purpose.

cs.SC