The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Perl extension Math::Symbolic.

0.113  Sun Aug 17 19:13:28 2003
	- Added the MS::Constant pi() constructor
	- Added tests and docs.
	- Added the MS::Base descend() routine. (This is a biggie.)
	- Converted as many descending routines as possible to be using
	  descend() instead of descending themselves.
	  These include is_constant, is_simple_constant, is_sum,
	  apply_constant_fold, apply_derivatives()
	- Added new method namespace to be delegated to M::S::Custom:
	  'contains_.
	- Added docs and tests.
	- Added replace().
	- Fixed a bug in implement(). Now also autoparses strings.
	- Added is_identical() to M::S::C::Default
	- Split up M::S::C::Default into M::S::C::DefaultTests and
	  M::S::C::DefaultMods.
	- Added the M::S::Base::descending_operands() routine that tries to
	  find the most sensible operands to descend into.
	- Added the operand_finder parameter to descend().
	- Moved set_value to M::S::Base and refactored it to use descend().
	- Modified implement() similarily to set_value.
	- Fixed some bugs in implement(), too.
	- Hacked simplify() some more. This needs to be cleaned up real soon.

0.112  Thu Aug  7 19:11:38 2003
	- Continued moving functionality into the M::S::Custom::* namespace.
	- Moved constant_fold into custom namespace
	- Added tests.
	- Fixed serious bugs.

0.111  Tue Jul 29 12:38:40 2003
	- Added Math::Symbolic::Custom::*.
	- Added custom transformation and test functionality.
	- Added is_sum(), is_constant(), is_integer() to M::S::C::Default
	- Added documentation and tests for the above.
	- Moved apply_derivatives() to the MSC::Default namespace.
	- TODO goals met with this release:
		+ Create a Math::Symbolic::Custom class and a
		  Math::Symbolic::Custom::Default class.
		+ The Math::Symbolic::Custom::Default class is to
		  contain all builtin simplification and term-transformation
		  routines.
		  (Also contains methods that tests trees for particular
		  properties)
		+ All calls to Math::Symbolic methods that cannot be
		  resolved in the Math::Symbolic inheritance hierarchy
		  (which should consist of the package itself, anyhow) and
		  that start with "apply_" should be delegated to the subs
		  named apply_... in the Math::Symbolic::Custom
		  package.
		  ('is_', 'test_', and 'mod_' also delegated.)
		+ Math::Symbolic::Custom should load
		  Math::Symbolic::Custom::Default.
		+ Math::Symbolic::Custom::Default should inherit
		  from a package named Math::Symbolic::Custom::Base
		  which defines a special import routine that automatically
		  adds the loaded module to the @ISA of
		  Math::Symbolic::Custom.
		  (Implemented this using a custom exporter scheme.)
		+ Thus, users can extend the number of
		  Math::Symbolic::Custom's by writing a package with
		  transformation subroutines in it that just inherits
		  from Math::Symbolic::Custom::Base. Upon use-ing the
		  custom module, the routines will automatically be
		  added to Math::Symbolic's transformation and testing
		  repertoire.

0.110  Sat Jul 19 15:16:11 2003
	- Documentation patches.
	- Added total derivatives.
	- Fixed the host of bugs that were discovered while implementing
	  total derivatives.
	- Added tests.
	- Added docs.
	- Added docs section on variable passing styles to Compiler.pm
	- Added implement()
	- Fixed uncovered bugs in total derivatives.
	- TODO goals met with this release:
		+ Add signatures to variables.
		+ Add signature() methods to all elements.
		+ Amend parser to parse signatures.
		+ Given the signature-parser enhancements, total derivatives
		  start making sense.
		  Since function signatures must be defined by their signatures
	 	  when they're used, total derivatives can be applied to all
		  functions. (Or, if their implementation is still undefined,
		  they can possibly still be kicked out because of their
		  non-dependence on a particular variable.)
		+ Add tests for sigs.
		+ Add tests for the new features.

0.109  Fri Jul 18 00:34:00 2003
	- Documentation patches.
	- Added signature attribute to variables.
	- Added signature() method to all tree elements.
	- Added set_signature() method to variables.
	- Some docs for the sig. changes.
	- Tests for the sig. changes.
	- Modified parser to parse unknown 'function(list)' constructs
	  as variables and their signatures.
	- Tests for the parser changes.
	- Documentation for the parser changes.
	- Added some bad examples to the parser man-page.

0.108  Wed Jul 16 22:41:01 2003
	- Added Math::Symbolic::Compiler (as a modified to_sub.pl).
	- Modified value() semantics to optionally take arguments.
	- Added set_value() method.
	- Added lots of docs.
	- Added some tests.
	- TODO milestones met with this release:
		+ Refactor the to_sub.pl code to a package that allows to
		  compile Math::Symbolic trees to subroutines and/or code.

0.107  Sun Jul 13 21:25:29 2003
	- Fixed tests. (Note to self: recreate MANIFEST for dists.)

0.106  Sun Jul 13 19:56:29 2003
	- Modified the parser to parse unknown identifiers as variables.
	- Modified Operator constructor to send operands through the parser
	  if they aren't valid Math::Symbolic::* objects.
	- Added and fixed docs. A lot.
	- Added tests.

0.105  Wed Jul  9 18:56:33 2003
	- Added several important items to the TODO.
	- Accepted the fact that the TODO is growing faster than the code base.
	- TODO milestones met with this release:
		+ Add reasonable overloaded interface for arithmetic
		  operators and some mathematical functions as far as feasible.
		+ Overloaded interface for exp, sqrt, log, +,-,*,/,**.
		+ Overloaded interface for boolean context and stringification.
		+ O. i. for unary minus
		+ O. i. for trig functions
		+ Overloaded interface for numerical context.
		+ Tests for the above.
		+ Documentation for the above changes

0.104  Sat Jul  5 19:17:00 2003
	- Added to_sub.pl to the distribution. (Math::Symbolic -> Perl sub
	  compiler.) This is just a proof-of-concept.

0.103  Thu Jun  26 15:08:12 2003
	- Fixed test errors.
	- Added (very little) documentation.

0.102  Wed Jun  25 21:04:41 2003
	- Added overloaded interface for arithmetic operators, exp, log,
	  sqrt, boolean context, numerical context, sin, cos, mutators.
	- Added tests.
	- Added docs.

0.101  Fri Jun  20 15:45:10 2003
	- Documentation fixes

0.100  Fri Jun  20 01:32:32 2003
	(Yep, I hack at random hours.)
	- Implemented hyperbolic sine, h cosine.
	- Implemented partial derivatives for h sine, h cosine
	- Amended parser for h sine, h cosine.
	- Same for tangents
	- Myriad of bugfixes
	- ExportConstants now includes (and exports) PI and EULER constants.
	- Renamed class data in M::S::Operator.
	- Cotangent.
	- Arc sine, arc cosine, arc tangent, arc cotangent.
	- Hyperbolic area sine, h. a. cosine
	- Tests for the above.
	- Broke the parser badly.
	- (much later) Fixed it again.
	- Some more documentation
	- Renamed test files
	- TODO milestones met with this release:
		+ Add sine/cosine
		+ Amend parser to parse sine/cosine.
		+ Add sinh/cosh or at least allow the user to use them in the
		  input string to the parser and have them replaced with
		  (e^x ± e^-x)/2
		+ Amend parser to parse hyperbolic sine/h. cosine.
		+ Add tan, arctan, arcsine, arccosine
		+ Amend parser to parse tan / arctan, arcsine / arccosine.
		+ Find a more reasonable naming scheme for class data and
		  rename appropriately.
		+ Add tests for the new features.

0.090  Wed Jun  18 16:37:56 2003
	- Implemented sine, cosine, sine/cosine derivatives
	- Amended parser for sine and cosine functions

0.080  Sun Jun  15 22:17:11 2003
	- Parser now a module (M::S::Parser)
	- Parser accessible through new_from_string().

0.070  Sat Jun  14 18:21:47 2003
	- Parser now outputs Math::Symbolic tree
	- Fixed unary-minus to infix issues.

0.060  Wed Jun  11 16:58:59 2003
	- Now including rudimentary parser for algebraic expressions.
	- Some documentation added.

0.050  Fri Jun  6 16:57:19 2003
	- Moved the rules for partial derivatives to separatE
	  subs and introduced a lookup-table.

0.040  Thu Jun  5 01:12:23 2003
	- Many changes again.

0.030  Wed Jun  4 18:43:00 2003
	- More major enhancements (exp function, log, derivative as operator)

0.020  Wed Jun  4 14:29:15 2003
	- First working version.

0.010  Tue Jun  3 21:45:57 2003
	- original version; created by h2xs 1.21 with options
		-AX Math::Symbolic