Changes to 0.5.3

Note the syntax changes marked with 'SYNTAX:'

* Very basic line graphing of R->R functions with LinePlot function
* Use MPFR for some floating point functions such as powers, logs, sin/cos
  and such.  This increases the speed of those operations by about 10 fold
  or more.  I will start migrating towards MPFR only support in the future.
  See www.mpfr.org.
* "a^b mod m" is now done sanely and fast just like the PowerMod function
* Rudimentary MathML output support
* Add Copy Answer As Plain/LaTeX/MathML/Troff menu items
* SYNTAX: A null inside a matrix expansion is treated as an empty matrix.  So
  [null,1,2] will be expanded as [1,2]
* SYNTAX: Allow rationals and integers as complex numbers though this support is
  kind of experimental
* Increase some limits on factorizations
* SYNTAX: Add (<expr>)i operator macro which will multiply <expr> by i
* SYNTAX: Negation parsing changed -1^k still parses as (-1)^k but -a^k parses
  as -(a^k) (where a is anything but a number
* Rational powers now return integers if possible, and so the
  SymbolicSquareRoot and SymbolicNthRoot functions are not neccessary
* Nicer printing of complex numbers
* Printing fixes
* Fractions printed nicely in troff and latex mode
* Fix crash on setting built in parameters if there is an exception
* Add MaximalPrimePowerFactors, PrimeFactors and CombineFactorizations,
  RemoveFactor, Gravity (the gravitational constant), EulerConstant,
  FermatFactorization, IsGaussInteger, IsPositiveInteger, MillerRabinTest
* Use MillerRabinTest in IsPrime adding a config parameter for this
* Remove SymbolicSquareRoot, SymbolicNthRoot (sqrt and rational powers
  is the same thing)
* Add some new aliases for a few functions
* Better EulerPhi implementation
* Fix Factors
* SYNTAX: Fix precedence of : to be lower then that of standard arithmetic
  operators
* SYNTAX: Factorial now binds more closely then power
* SYNTAX: Allow more matlab like notation of getting whole rows/columns
  (such as foo@(2,:))
* Add an Edit menu with Copy and Paste
* Add "Really want to quit" dialog and allow quitting while calculations are
  running
* Allow reading arbitrarily long compiled file record lines
* Some very minor leaks fixed
* Fix interrupting input while not calculating anything (this was a nasty
  bug that prevented any further thing to be evaluated)
* Don't allow executing anything if something else is executing, thus causing
  a crash.
* A number of minor bugs squashed
* And finally a new small easter egg

Changes to 0.5.2

* UP TO DATE ONLINE MANUAL: well, don't be too excited, it's just a text
  file, but can now be viewed directly from genius.
* Use vte instead of zvt since zvt was giving me fits (vte is on the other
  hand giving me different fits).
* Fix precendence of defining a function (now "function f(x) = foo mod bar"
  will work as expected)
* Using rationals in modular mode will take the inverses mod n
* Negative powers and division of matrixes in modular mode
* Implement IsPrimeProbability, LucasNumber, ModInvert, EulerPhi,
  Subfactorial, GoldenRatio
* Use gmp for NextPrime
* Kill some unimplemented functions so that people don't get confused
* Some function renaming (where old syntax was used) and some more help
  strings
* The help output is now nicer
* In latex output mode we print [] instead of () for matrices since
  I think it's nicer
* The readline helper is now in the libexec directory as it should be
* Fixup the plugin API a bit and hide the test plugin from the GUI
* The .desktop is now updated, using intltool and installed in proper new
  location and all that good stuff
* Fixed the gettext/intltool stuff, now actually installs translations
  correctly and all that
* Random minor fixes and cleanup

Changes to 0.5.1

* Fix rounding when first digit is rounded and is 9 (reported by
  Kai Arstila)
* Fix atan by using implementation from Guillermo Ballester Valor
  (reported by Kai Arstila)
* Few more functions: Stupid eigenvalue function for 2x2 matrices,
  RaleighQuotient
* Reverse the direction of the vandermonde matrix to coincide with how
  we use polynomials
* Fix modular arithmetic on single values and matrices
* Cache identity matrices for speed

Changes to 0.5.0

* Stack based execution engine, allows much deeper recursion
* User parameters
* Better help support
* Syntax changed to be nicer and/or more matlab like in places
* New operators: !! ./ .\ .* .^ .% .'
* Sum and product loops
* Matrix indexes can now be vectors like in matlab
* Many new functions
* New commands (ls, help, pwd, cd)
* Many random fixes
* And much MUCH more

Changes to 0.4.6

* accept more different formats of floats in scientific notation
* fix problems with hangs on help and large dialogs

Changes to 0.4.5

* modular arithmetic support (e.g. "expr mod n")
* different parsing of files on the load line (you can now pass multiple
  files with quotes everywhere, just like in a shell
* plugin toplevel command to load plugins from command line
* more function descriptions for the help command
* possibility to run gel function from inside of genius code
* exp function now behaves properly for matrices (sort of)
* setting calculator parameters is now more natural, just as setting variables
* option for maximum line output length for expression output, and for
  maximum number of errors printed
* backdivision for matrices (e.g. X=A\B means A*X=B)
* bug and portability fixes

Changes to 0.4.4

* bugfixes, bugfixes, bugfixes
* very very very initial shlib plugin support

Changes to 0.4.3

* depreceated the bc way of adding functions
* better interactive parsing
* i18n actually works

Changes to 0.4.[12]

* new gnome frontend

Changes to 0.4 (includes all changes from all >0.3.1)

* new syntax for writing functions, more math like
* functions are now passed by value not by reference, this is unfortunately
  backwards incompatible but adds consistency and flexibility, so just instead
  of sum(4,5,&func) you'd write sum(4,5,func), with anonymous functions,
  the calling syntax does not change. inside the function then, one would use
  func(...) instead of *func(...)
* library file is compiled now for quick startup
* many new functions
* more matrix support
* complete complex number support with new operators

Changes to 0.3 (includes all changes from all >0.2.1)

* matrix support
* a couple of new operators (absolute value, get element/row/column, transpose)
* whole bunch of new functions

Changes to 0.2

* no more postfix, no more prefix, everything is infix
* conditionals are better
* variable/function references
* anonymous functions
