Todo List

Server

 * Fix bugzilla.
 * The logo (upper left) is great; everyone here in Berkeley loves it. However, the pink 'free and unbounded' text on the grey background is mostly unreadable -- Dror, can you fix this at some point? --Scott 04:07, 28 October 2005 (EDT)
 * concerning the logo, the In[1]:= part is invisible at 1600X1200 resolution. not sure why, but it's a problem. (Using IE 6.0) --Yossi 22:15, 7 November 2005 (EST)

Parsing
The parser is done as far as release $$10^{-17}$$ is concerned. There are a few issues that should be considered:


 * Reading strings and string-join operator
 * Adding all the other operators we want into the operators.txt file in the correct location
 * Add meaningful error handeling to the parser. We should discuss excatly what this means and what should we throw.
 * The warnings on multiple choice have to be dealt with.
 * Allow for multiline somehow...

Jython integration
Jython is a python implemented in Java, and compiles jython code to java bytecode. It allows nearly transparent mixes of Java and Python. In particular Jython code can use Java objects completely transparently, and can subclass Java objects. These jython objects can be used transparently from Java!


 * Subclass AbstractInstallableReplacementRule in Jython. In particular, re-implement Times[__Integer] in Jython.
 * Jython has some problems. In particular, when you're subclassing a Java class in python, you apparently can't call the super class constructor. See for example this message.
 * Use 'pass' as the workaround. See If.py in SVN for an example.
 * There's no good pythonc ant task, which sucks. here's the closest I found.

Write tests first
Unfortunately, we can't use the & symbol in expression tests written in tef files, because of XML entity references. Use &amp;amp; instead. This should be fixed at some point.


 * With
 * Block (needs kernel support?)
 * Module (needs kernel support?)

Implement!

 * Function
 * If

An Eclipse plugin?

 * explore eclipse plug-in writing, and write a plugin that the source code for a InstallableReplacmentRule.

Extension Framework
 (a+b)*(a+b)^(n-1)">
 * Separate tests from providers.
 * There's actually a philosophic issue here -- should we actually be separating these out?
 * Allow for rules written in omath. This should look something like

Pattern Matching

 * Optional
 * Default
 * Repeated
 * RepeatedNull

Contexts
Do we want to reproduce what Mathematica provides in this respect? It doesn't seem too hard, and we have to if we want to be able to run old mathematica code in tungsten. On the other hand, mma's context system sucks.

Mathematica-omath Integration

 * explore the MATHLINK protocol (try using ethereal)