# PG language enhancements

From WeBWorK

## Contents |

### alias() -- locating external resources

- PGalias.pm -- finding external resources for a question
- (PGload.pm does something similar searching for macro files)
- findAppletCodebase() also does something similar
- use unique ID file names -- so you can't snoop things like psvn numbers, login names and so forth
- factor code so that a greater variety of resource types can be added easily currently we have .html, .png, .gif -- I think svg, jpeg, could be added and ???
- save the paths to resources used so that we can add some facility to download the resources as well as the question on export -- this will facilitate sharing problems.
- if applets are referenced they should be indexed in a similar manner.

### Answer blanks

- Answer blank handling -- PGanswergroup.pm, PGresponsegroup.pm

### Matrices

- Update and consolidate the handling of matrices
- There are currently at least two types.
- MathObject matrices -- which are essentially Matrix valued Formulas -- they do at best simple calculating but their input output mechanisms are pretty good.
- A subclass (Matrix) of RealMatrices.pm from CPAN. The subclass handles complex numbers, and does a good deal of matrix numerical analysis (LR decomposition and so forth)
- The namespaces of the two types of matrices interfere with each other so they are hard to use together -- that would be the first order of business -- disambiguate the two.

- Fix the coloring of answer blanks so that works with matrices as well.

- There are currently at least two types.

### Graphic commands and objects

- JavaScript options for graphics (including HTML5)
- investigate JSXgraphics.js and create an API for WW questions: http://jsxgraph.uni-bayreuth.de/wp/
- other options: Process.js

- Implement tizk() graphics command (see Paul Pearson's design)