### abstract

- jSymbol is a string rewriter written in Java. It allows for rule based interactive programming and can be used to test or implement algorithms of computer algebra and scientific computing.
- It has a library for doing arbitrary precision arithmetics.
- An experiemtal notebook style interface allows 2D graphics using SVG (scalable vector graphics) and 3D graphics with jReality (see below).
- jSymbol can manipulate Java objects directly. Thus objects in expressions can stand for Java objects and there exists a mechanism to call methods on them or manipulate fields.
- There are first tests of compiling expressions to Java bytecode: The mechanism takes an expression, and some mapping which symbols should be of which Java type. Then a custom object is created that has a method which takes values for these symbols and return whatver the expression would have returned. This works of course only if two prequisites are fulfilled: all subexpressiona are compilable (i.e. know how to express themselves as an instrucion tree given the arguments) and the result is of fixed type given the input types. This is still experimental and only a few number operations are actually compilable.

### examples

### plans

- lots of debugging...of course
- slowly add more and more Operations and special functions
- Once stix fonts are available, the plan is to enable the interface to render formulas through a subset of MathML.
- lift runtime compiling of expressions from the experimental stage