Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 13a1eaa187f3c123bd6a194957071b38 > files > 10

yacas-1.0.47rev7-1mdk.i586.rpm




<HTML>

<BODY BGCOLOR="ffffff">


<FONT face="Helvetica" size="3">

<h1>Release of version 1.0.48 (??? 2001)</h1>
<ul>
  <li> small improvement to Arg(...) working on real numbers.
  <li> improved 'make test', no need to install before test any more.
  <li> VarList can now accept a second argument, a filter predicate.
  <li> Pattern matcher now allows extended prototypes, like
       PP(list_Contains("a")) &lt-- ... etcetera.
  <li> c-style tokenizer using CTokenizer() (DefaultTokenizer()
       switches back to the default tokenizer).
  <li> Great speed-up of function Assoc.
  <li> Christian Obrecht implemented the Rabin-Miller primality
       testing algorithm, which greatly improves the speed of IsPrime.
  <li> Orthogonal polynomials OrthoP, OrthoP,OrthoG,OrthoH,OrthoL,
       OrthoT,OrthoU implemented by Serge Winitzki.
  <li> various speedups, and a new memory manager, optimized for
       allocating many small blocks (which is the case in Yacas).
  <li> Changed the directory structure for the script files
  <li> Greatly improved Simplify function.
</ul>


<h1>Release of version 1.0.47 (May 20th 2001)</h1>
<ul>
  <li> initial texmacs support.
  <li> Jitse Niesen greatly improved the parts of the manual
       on variables and on input/output.
  <li> Bug fix in localrules (didn't work on more complex input,
       because it didn't check the leading function type!)
  <li> Bug fix : loading of files on Windows was broken. The
       Windows client didn't handle Unix-style end-of-lines too well.
  <li> Renamed TryRetract to Retract (Suggested by Jitse).
  <li> Put NewLine and Space in the scripts as opposed to in the
       Yacas kernel (Suggested by Jitse).
  <li> Jitse added one-liner descriptions for functions in the
       documentation.
  <li> latex form in texmacs.
  <li> Greatly improved CanProve, thanks to Vladimir.
  <li> Initial version of Berlekamp factoring.
  <li> changed all the scripts so they have the extension .ys.
  <li> proteusdebugger: an initial version of a debugger for yacas.
  <li> Change to configure script to support compiling under cygwin,
       with plugin support.
  <li> Bug fix to multiplying complex numbers with lists.
  <li> Made Content and PrimitivePart respond more nicely to
       polynomials with rational coefficients.
  <li> Small improvement to the debugger: it now also steps to
       non-expandable lines when you use the step buttons.
  <li> numbers with a minus sign now parsed into negative numbers,
       as opposed to a function -(number)
  <li> configurable simplification of inequalities in the logic code.
  <li> Split out the tests into many test scripts in directory tests/
</ul>


<h1>Release of version 1.0.46 (April 10th 2001)</h1>
<ul>
  <li> Bug fix: N(Sin(a)) returning 0 (also a problem with Cos).
       The problem was due to the system trying to do a SinMap,
       where Pi becomes a number, and the converting to a univariate
       polynomial in Pi screws up.
  <li> better support for mapping numeric arguments of Cos back to
       the 0 to Pi range.
  <li> made rules that are always true a little faster.
  <li> fixed bug with Gcd when passing floating point numbers.
       Reported by Fredrik Noring.
  <li> Small change to proteus (Mark).
  <li> Added example "MinimumSpanningTree".
  <li> Bug fix: interpreter crashed if a function refers to another
       function which gets redefined.
  <li> Bug fix: Limit(x,Infinity) going wrong on -Infinity/Infinity.
  <li> added Integrate(var)(function) which returns the antiderivative
       of a function. Suggested by Christian Obrecht.
  <li> Fixed "gnuplot" (broken due to the changed functionality of N(..) ).
  <li> Fixed bug: CanProve(P Or (Not P And Not Q)) returned the wrong answer.
       Reported by Vladimir Livshits.
  <li> Fixed bug: Cos(0) wasn't evaluating to 0 any more.
  <li> improvements to documentation.
  <li> Derivatives now better threaded.
  <li> fixed compiler warnings: anumber.cpp under Windows compilation
       (reported by Vladimir), Proteus warnings under Debian (Reported by Gopal).
  <li> removed -g option for compilation. Made executable seriously smaller.
  <li> Much improved Limit, thanks to Christian Obrecht.
  <li> Small improvements to Proteus.
  <li> pretty printing of vectors and matrices.
  <li> Limits can now deal with direction (limit from Left or Right).
  <li> PSolve for 3rd degree fixed by Robert.
  <li> Added operators /: and /:: .
  <li> Incorporated the changes for complex numbers Christian sent in.
       Arg now implemented correctly.
  <li> better numeric Ln and ArcTan.
  <li> functions that are not defined yet are now returned with their
       arguments evaluated. Eg f(2+3) returns f(5) in stead of f(2+3).
</ul>


<h1>Release of version 1.0.45 (Februari 22nd 2001)</h1>
<ul>
  <li> Fixed bug: Floor or Ceil working on 0.5 would result in
       an infinite loop.
  <li> Started work on solving differential equations (scripts/odesolver).
  <li> Some bug fixes thanks to Robert V Schipper.
  <li> Some bug fixes on limits involving infinity, due to Mark Arrasmith.
  <li> Bug fix: Decimal didn't work correctly on negative numbers.
       Reported by Gopal Narayanan (Debian Yacas package maintainer).
  <li> Fix sent in by Gopal Narayanan so Yacas works with libgmp3.
  <li> Added Proteus, the user interface for Yacas using the fltk widget
       set, to the distribution, in directory proteus/
</ul>


<h1>Release of version 1.0.44 (December 30th 2000)</h1>
<ul>
  <li> Unfenced the if and else operators.
  <li> Implemented first installment of RadSimp
  <li> Yacas can now do 39 of the Wester benchmark calculations
       (up from 25).
  <li> Updated Psion organizer version (EPOC32).
  <li> Added derivatives and antiderivatives of Sign,Abs and
       if .. .. else .. constructs.
  <li> fixed two bugs that caused Div(x+1,x) to not work immediately
       after startup.
  <li> Integrating (a*x)^(fraction) not working, but (a*x)^(integer) did.
  <li> improved some complex number functionality, Sin/Cos calculations.
  <li> gcd, div, mod fix for rational numbers.
  <li> Continued fraction expansion of polynomials, DivPoly which does
       an efficient division of polynomials, returning a polynomial.
  <li> small cleanup of the code
  <li> added functions: Pslq, Floor, Ceil, Round, IsHermitean, IsUnitary
</ul>


<h1>Release of version 1.0.43 (November 18th 2000)</h1>
<ul>
  <li> Added the YacasNotebook directory with the emacs shell
       to the repository.
  <li> We have support for BeOS! Thanks to Eugenia Loli.
  <li> Serious bugfix: the ^ operator wasn't working like it
       should. It was mapped to BitXor, and its precedence was wrong.
</ul>


<h1>Release of version 1.0.42 (November 12th 2000)</h1>
<ul>
  <li> Allowed CForm to accept if (predicate) body; and
       if (predicate) body else other;
       These routines need to be written still, however, for
       them to also work in Yacas itself.
  <li> cleaned up some code.
  <li> Speedup of 40% of general Yacas execution.
  <li> Some improvements to the logic theorem prover so it can handle
       (a>b)-type epressions.
  <li> added support for annotating expressions, with GetExtraInfo
       and SetExtraInfo.
  <li> Initial checkin into sourceforge CVS. Thanks to Vladimir Livshits!
  <li> Fixed some windows compilation problems. ElfDll being explicitly
       mentioned in mathcommands3.cc, and explicitly including elfdll.h.
  <li> added initial versions for the c-like &amp, | % and ^ operators,
       and if (...) ... else ... . This will probably make it possible in the
       future to write code that is a lot more readable than If(..., ..., ...).
       The else clause binds to the last if, just like in c.
       So this means you can now enter expressions like:
        if(3 &lt 3) a else if (3 &gt 3) b else c;
</ul>

<h1>Release of version 1.0.41 (September 8th 2000)</h1>
<ul>
  <li> made expressions like a[2][3] return unevaluated if a is not
       a matrix (just like a[1] in case a is not a vector).
  <li> GnuPlot can now plot multiple functions (pass a list of functions
       on to GnuPlot to achieve this).
  <li> For some reason PrettyForm didn't evaluate its argument any more.
       This has been changed back, so PrettyForm(%) works again.
</ul>

<h1>Release of version 1.0.40 (August 21st 2000)</h1>
<ul>
  <li> made some changes to make it compile on IRIX again. Thanks
       to Daniel Richard G.
  <li> Added the Sign function.
  <li> improved Solve, Sqrt in order for EigenVectors to work better.
  <li> separate section: configuring yacas through .yacasrc:
       HistorySize, Help, PrettyPrinter,DefaultDirectory,
  <li> Apart now works correctly on rational numbers
  <li> verbose mode: V(expression) can now show internal results
       that might be useful to the user. Solve uses this.
  <li> We can now run Yacas from within emacs! Thanks to Jay Belanger.
       See the file yacas.el for more information.
</ul>


<h1>Release of version 1.0.39 (august 10th 2000)</h1>
<ul>
  <li> added support for dealing with structs in the plugin
       system. Also, the stub generator now automatically generates
       documentation on the interface it is generating.
  <li> started on opengl/glut plugin
  <li> the Windows version now also supports plugins! Thanks go to
       James Gilbertson.
  <li> started on forth interpreter plugin. This will allow on-the-fly
       compilation to forth code that can immediately be executed.
  <li> Mod(2,0) gave the wrong error.
  <li> ^c now cancels the current calculation (if calculating), or quits
       yacas if currently on the command line.
  <li> enable automatically deleting CArrayGrower : CDeletingArrayGrower
  <li> added tensors experimental to inprogress/, and moved norm there too
  <li> BUGFIX: plugin support for integers didn't allow returning negative
       integers.
  <li> install .so files in plugins/ dir, and be able to load from there.
  <li> factoring polynomials has been fixed. Factor((x^2+1)*(x^2+4))
       will now return a correct factorization.
  <li> Implemented HistorySize(depth), which specifies the number of
       lines that should be stored in the ~/.yacas_history file.
  <li> fixed partial fraction expansion! It turned out to be a bug in
       the function Monic, which didn't return the correct result if
       the lowest order term was non-constant. Monic(x^3+x^2),
       Apart(1/(x^2+1)), Integrate(x,a,b)1/(x^2) now thus work.
       This was found with  Apart((x^3+4*x^2-x-2)/(x^4-x^2),x)
  <li> better bracketing of expressions containing minus signs.
  <li> changed #YB# and #YE# to &lt? and ?&gt for better cooperation
       with html.
</ul>

<h1>Release of version 1.0.38 (July 9th 2000)</h1>
<ul>
  <li> intro.html generated again.
  <li> Precision(n) generates an error if n isn't a positive integer.
  <li> A:=B:=1 now works as required (A and B get assigned 1)
  <li> prefix operators can now be defined with a precedence.
       This is used with for instance "-". -x^2 is now treated as -(x^2)
       and not as (-x)^2
  <li> The "Not" command is now treated as a prefix operator.
  <li> The And, Not and Or operators now return unevaluated if they encounter
       an argument that is neither True nor False.
  <li> Implemented a TraceStack, which shows the call stack just before
       the limit is reached. This has to be documented still!
  <li> changed the operators in the logic prover from ~, |, etc.
       to And, Or and Not.
  <li> new target in the make file in the src/ directory: 'depend'.
       make depend builds a file depend.dep using the -MM flag of gcc.
  <li> changed the system so when you type '??' it calls Help(), and
       if you type ?f it calls Help(f). Help() and Help(f) are defined
       in yacasinit, and can be overridden in ~/.yacasrc
  <li> Implemented TraceStack(expression), which shows the top of
       the stack, just before an error occurred.
  <li> Improved error reporting: for internal functions the function
       generating the error is now also shown.
  <li> implemented PatchLoad, which does a php-style load of a file.
       The contents of the file are read in and printed to screen, except
       everything between #YB# and #YE#, which gets evaluated. So
       print statements can be put there to put generic content.
  <li> Implemented PatchString (which does the same as PatchLoad, but
       for strings).
  <li> moved manicon.html to the distro.
  <li> Initial release of a plugin interface.
  <li> implemented DllLoad and SetHelpBrowser.
  <li> documented PatchLoad, PatchString, SetHelpBrowser, TraceStack,
       and the plugin structure (preliminary), which can be found in
       the programmers reference.
</ul>


<h1>Release of version 1.0.37 (June 4th 2000)</h1>
<ul>
  <li> Speedup in manual generation.
  <li> fix for enumerations in the manual
  <li> Fix for compilation under egcs 2.95.2
</ul>


<h1>Release of version 1.0.36 (June 4th 2000)</h1>
<ul>
  <li> Greatly improved the coding.book. And some
       improvements in intro.book too. Note these are not finished
       versions yet! Just great improvements.
  <li> Fixed the bug where sometimes the files in the addons/ directory
       weren't loaded.
  <li> the history file now is ~/.yacas_history
  <li> Yacas now tries to load ~/.yacasrc
  <li> fixed small bug : cos*tan = sin
  <li> new texform 0.4 with more functions and vector and matrix
       support.
  <li> Initial version of yacas_client. It allows to run persistent
       Yacas sessions locally or via remote shell (rsh/ssh) from another
       program.
  <li> New example in the introduction manual.
  <li> Added an advanced example on how to create a non-commutative algebra.
  <li> Added new flags: p for plain command line (no readline functionality),
       and c for not showing the prompts. So 'yacas -pc' will be a minimal
       console interaction application with no fancy in- and output.
       added flag -t for roll-through command line.
  <li> Added EigenVectors and IsConstant (described in the manual).
  <li> small changes to the reference manual: indices at the top, and
       some expanded descriptions for certain functions.
  <li> Moved IsBoolean from texform to predicates
  <li> implemented UnFlatten
  <li> Initial version of c_form
  <li> support for numbers of form 1E-3 etc. when using gmp. This will
       be supported in the built-in arbitrary precision math module soon.
  <li> Read() from standard input now works again.
  <li> Implemented TruncRadian(r) which calculates r mod 2*Pi,
       with arbitrary precision. This is
       then used in the trigonometric functions to speed up calculation.
       So, for instance, Sin(1000000) can be calculated quickly now,
       even without gmp.
  <li> GarbageCollect(), which removes unused text strings from internal
       storage. garbage collection on lispstrings in the hashtable.
  <li> Implemented LazyGlobal. This allows for lazy evaluation of a variable
       it is bound to (evaluation the first time it is called).
  <li> % now re-evaluates the previous result.
  <li> Usage of imaginary unit "I" will now invoke full "complex" package
       functionality.
  <li> more strict requirements on parsing of numbers. They cannot be
       of the form 1.0.2 any more.
  <li> Version() now returns a string.
  <li> the symbol ' is now a text symbol, so you can write things like
       'a' and x' .
    <li> A small propositional logic theorem prover was built.
         it can be used by invoking <a href="ref.html#CanProve">CanProve</a>

</ul>

<h1>Release of version 1.0.35 (May 16 2000)</h1>
<ul>
  <li> Made improvements to the tensor package.
  <li> started on the unixtools addons. Vi and GnuPlot.
  <li> Implemented LessThan and GreaterThan that do a lexical compare
       in stead of just comparing numbers. You can now compare any
       type of atomic.
  <li> fixed c++ wrapper to gmp.
  <li> Serge Winitzki fixed some bugs with complex arithmetic.
  <li> Some more improvements to the introduction manual by Serge
       Winitzky.
  <li> changed lexical analyzer so % is a separate token. You can
       now type a:=%; in stead of having to type a:= %;
  <li> Print Bodied with correct precedence.
  <li> Implement "quit" (together with, "Exit()")
  <li> Implement Version() to return 1.0.34
</ul>

<h1>Release of version 1.0.34 (May 4 2000)</h1>
<ul>
  <li> Implemented ExpandBrackets
  <li> Added a -f command line flag that inputs an expression from
       the command line, prints the result and exits.
  <li> Serge Winitzki greatly enhanced the introduction manual!
  <li> Some bugfixes to the complex arithmetic code.
  <li> changed the [[ ]] way of accessing arrays into [ ].
  <li> ?function didn't work on functions explained in the programmers
       reference.
  <li> Changed the licence to GNU GPL.
</ul>


<h1>Release of version 1.0.33 (April 30 2000)</h1>
<ul>
  <li> Made an ApplyPure that works with string operators.
  <li> Implemented PrettyPrinter. So now you can have Yacas
       automatically print results in the desired form.
       Try it with PrettyPrinter("PrettyForm"). It can be
       reset with PrettyPrinter()
  <li> Implemented Bodied("op",precedence), so now bodied
       operators can have a precedence too.
  <li> An example reference "print" implementation in script code.
  <li> Implemented Lcm(a,b) (Least common multiple) of two numbers.
  <li> some small bug fixes
  <li> Implemented Coef where the 'order' argument can be a list.
       This then returns a list of coefficients.
  <li> BigOh: drops last terms from a polynom.
  <li> ReversePoly: inverts a polynomial.
  <li> replaced InverseTaylor with a better version.
  <li> changed the '=' to '==' for Solve. This in order to assure
       the equals sign will not be automatically evaluated.
  <li> Implemented Eliminate, SuchThat, WithValue
  <li> Solve can now solve systems of 'simple' equations, eg. sets of
       equations where for each variable to solve for there is at
       least one equation where the variable occurs only once.
  <li> Removed Lambda, in favour of the {{},} pure functions, since
       they are ten times faster. Juan: hope you don't mind? ;-)
  <li> Some test code for Simplify, written by Serge Winitzki.
</ul>


<h1>Release of version 1.0.32 (April 25 2000)</h1>
<ul>
  <li> The history now keeps track of the last unmodified line,
       so you can enter through a previous list of commands.
  <li> Pressing escape twice now clears the line.
  <li> Initial installment of a tensor package.
  <li> Bugfix: sometimes 0/n returned a random number!
  <LI> Bugfix: relating to the above 0/n bug. MathDivide(0.00001,10)
       sometimes returned a random result. So did some of the other
       numeric calculations. The mistake was with converting the
       number from internal format to ascii (probably broken after
       it had been optimized). It was with a SetNrItems on a number
       that initially had less digits than the one I set it to.
       So the added items contained garbage.
  <LI> Greatly improved Simplify.
  <LI> the command line now accepts multiple lines that terminate with \.
  <LI> 3/2*2 is now interpreted as 3.
  <LI> typing restart on the command line restarts yacas.
  <LI> Changed all the (Is)InFix/PreFix/PostFix to (Is)Infix/Prefix/Postfix
  <LI> Started on scripts/examples/benchmark. This file contains
       some of the calculations specified in the Wester benchmark.
  <LI> Infinity wasn't handled every where (arithmetic)
  <LI> Implemented ContFrac, which makes a continued fraction expansion
       of a number.
  <LI> Implemented Decimal. Decimal calculates an infinite decimal
       representation of a number.
  <LI> Implemented LagrangeInterpolant, a way to create a polynomial that
       goes through certain points.
  <LI> Implemented Select, which can select certain elements from a list
       based on a predicate test function.
  <LI> Half-integer factorials (sent in by Serge Winitzki)
  <LI> TeXForm version 0.2 (initial release), sent in by Serge Winitzki.
  <LI> Improved the documentation.
  <LI> The web site was changed, thanks to Doreen Pinkus.
  <LI> Fixed the segfault following an error on the command line.
  <LI> Documented LagrangeInterpolant, PAdicExpand, LocalSymbols, PrettyForm,
       RandomIntegerVector, RandomPoly, Monic, LeadingCoef,
       Select, MakeVector, Decimal, ContFrac, Abs

</ul>

<h1>Release of version 1.0.31 (April 9th 2000)</h1>

<ul>
  <li> Added "Until" which repeats a statement until a predicate becomes
       true. The difference with While is that the statement is evaluated
       at least once, as opposed to While where the body statement is
       evaluated zero or more times.
  <li> Univariate polynom building extended a little to deal properly
       with division by constants.
  <li> implemented PAdicExpand PAdicExpandInternal that do a p-adic
       expansion, for integers and univariate polynomials.
  <li> Added GetPrimeFactors.
  <li> Implemented RandomIntegerVector, RandomPoly.
  <li> LeadingCoef for univariate polynomials
  <li> fixed bug in Gcd for polynomials.
  <li> Allow {x,y}:={1,2}, which sets x to 1 and y to 2.
  <li> You can now call f(x):=Eval(g), where g is evaluated before
       it is assigned to f(x). This makes it easy to define a function
       that is a taylor series of some other function, etc.
  <li> Monic(poly): return poly/LeadingCoef(poly), which essentially
       makes the leading coefficient 1.
  <li> Added Rem.
  <li> Implemented an initial version of factoring polynoms! Factors(n)
       should factorize n, which can be an integer or polynom.
       It returns a list with sublists(factor,power). Use FW(Factors(n))
       to show a nice human-readable form of the factorization.
       Try FW(Factors(1233)) as an example. Note that factoring
       polynomials can sometimes become slow, when fractions grow
       exponentially inbetween calculations.
  <li> speedup of n!.
  <li> Roots(polynom) calculates the roots of a polynomial.
  <li> implemented EigenValues(matrix) .
  <li> Apart, Together, GcdReduce
  <li> integrating functions of the form 1/(a*x+b)
  <li> integrating rational functions (very preliminary)
  <li> integrating Sin(f(x))*Cos(g(x))-like forms
  <li> integrating expressions of the form Ln(a*x)
  <li> support for n_IsNumber &lt Infinity etc.
  <li> fixed bug in pretty-printing formulas
  <li> some more speedups.
  <li> extended the documentation.
  <li> some more optimizations. Queens(8) now takes 10 seconds just like Hugs.
       This just means Hugs isn't very efficient, since more optimizations
       are possible.
  <li> Speed-up of applying pure functions.
</ul>

<h1>Release of version 1.0.30 (March 5 2000)</h1>
<ul>
  <li> Dan McMahill made a NetBSD distribution for Yacas. It can be
       found at ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/math/yacas/README.html
  <li> changed the infix printer so that expressions like "a And b" and
       "a+ -b" are printed as such (with spaces).
  <li> removed IsVector in favor of IsList, which is MUCH faster.
  <li> optimized the code here and there. Queens(8) now takes 15 seconds,
       where it used to take 35 on my machine.
  <li> Replaced "Table" with the implementation Juan Pablo Romero supplied.
  <li> Added two command line options: -v and -d. -v returns the version
       number, and -d the directory the scripts are stored in.
  <li> Added the $(scriptdir)addons/ directory as suggested by Juan Pablo
       Romero. If you copy your files over there, the .def files will
       automatically be loaded at startup. You will see the line
       'Adding package[...]' on screen.
  <li> fixed parsing bug for numbers ending with a dot (2.). Reported by
       Juan Romero.
  <li> Added rules for &lt,&gt operations on rationals. You can now
       request 1&lt= 2/3 .
  <li> fixed bug: l:={t,t^2,t^3}; D(t)l; the Deriv rule didn't do lists!
       Reported by Juan Romero.
  <li> Subst has become an internal function (implemented in the engine).
  <li> implemented LocalSymbols as suggested by Juan Romero.
       Try LocalSymbols(a,b)[a+b;]
  <li> Implemented TemplateFunction and HoldArgNr, so that the parameters
       to a function are also local symbols. As an example, see the
       definition of Table in the file "lists". The LocalSymbols will
       thus be done during loading, and not during execution, so
       there is no runtime overhead in using TemplateFunction.
  <li> Apply now evaluates both of its arguments. op:="+"; Apply(op,{2,3});
       should now return 5; You can now remove all Apply("Apply",{oper,args})
       constructs in your code, in favour of Apply(oper,args);
  <li> Added "Lambda" as suggested by Juan Romero.
</ul>

<h1>Release of version 1.0.29 (27 Februari 2000)</h1>
<ul>
  <li> added a directory colorcode with code to htmlize the scripts.
       it also color-highlights the code. Try it out by typing
       './colorcode' in that directory, and then 'netscape scriptsmain.html'
  <li> Pattern matching code optimized a little.
  <li> SylvesterMatrix, code supplied by James Gilbertson.
  <li> MatrixRow, MatrixColumn, and GenMatrix supplied by James Gilbertson.
  <li> changed Intersection and Difference, so they handle lists with
       multiple identical elements correctly.
  <li> Fixed the D(x)x+y bug reported by Fred Bacon.
  <li> Fixed the Gcd(x,x) bug reported by Scott.
  <li> added Factorize({list}). Factorize(1 .. 4) should now return the
       same as 4! for instance.
  <li> Added Content and PrimitivePart to the univariate polynomial code.
       See the manual for an explanation of these functions.
</ul>

<h1>Release of version 1.0.28 (10 Februari 2000)</h1>
<ul>
  <LI> Improved Windows client code (using the command line code).
       Code kindly contributed by James Gilbertson.
  <LI> KARATSUBA multiplication??? Again thanks to James Gilbertson.
       Seems to almost work ;-)
  <li> Added Pi, which evaluates to itself, unless N() is used.
  <li> Patterns defined with no arguments could crash, if there is a
       postpredicate. This was actually a problem with user-defined
       functions with no arguments. It is a miracle that Yacas worked
       at all.
  <li> Added support for accurate results to Sin((1/2)*Pi) etc.
       Only whole and half Pi are supported currently.
  <li> Added a new make target, 'make test', which runs the test script.
  <li> Added an example, scripts/examples/findsum. See the file for more
       details.
  <li> the command line now supports command line completion. When you
       type in a few letters, and press tab, yacas will try to
       auto-complete by searching the history.
  <li> Added another example, queens, in the examples directory.
       This queens implementation took 35 seconds on my machine
       to do Queens(8), where hugs (a Haskell interpreter) takes
       10 seconds. 
  <li> added the fltk-based user interface code back into the distribution.
       It still needs some serious work.
</ul>

<h1>Release of version 1.0.27 (16 Januari 2000)</h1>
<ul>
  <LI> You can now define simplification rules using pattern matching.
  <li> small compilation problems with the newest gcc (Fixed by
       Fred Bacon).
  <li> more numeric: Ln(2), Sin(2) and Sqrt(2) should only eval if N(...)
</ul>

<h1>Release of version 1.0.26 (12 Januari 2000)</h1>
<ul>
  <li> added a small lisp interpreter to triage. triage is now ready
       to be used as a graphing engine.
  <li> many improvements to speed up the engine. It should now be almost
       three times as fast. The most time is currently spent in the
       predicate clauses of the rules (deciding which rule applies).
  <li> Length will now also return a length of a string and array.
  <li> Implemented StringMid and SetStringMid, which can manipulate strings.
  <li> Min and Max now also working on lists.
  <li> Gcd now working on list.
  <li> Gcd, Div and Mod will now try to find out if an expression is
       a polynomial.
  <li> Implemented OpLeftPrecedence, OpRightPrecedence.
  <li> PrettyForm, EvalFormula. These allow nice rendering of formulas
       in ascii form.
  <li> IsFreeOf will now also accept a list of variables.
  <li> Speed improvements.
  <LI> made readline.cpp platform-independent. It is now in commandline.cc
       and unixcommandline.cc
  <li> enhanced simplification of rationals and complex numbers.
</ul>

<h1>Release of version 1.0.25 (26 December 1999)</h1>
<ul>
  <li> added links to other relevant free software.
  <li> implemented LispRead, which reads expressions in lisp syntax.
  <li> implemented the Example() command, which generates a new
       example each time you call it. This solves the problem (I hope)
       of confronting a new user with a prompt and no indication as
       to what can be typed in. Just keep typing Example(), and all
       sorts of examples pop up.
  <li> Implemented TraceRule. This allows you to selectively trace single
       functions. It shows what the arguments evaluate to, and then
       what the function evaluates to. Try it out with
       TraceRule(x+y)2+3*5+4
  <li> TrigSimp has now been changed to TrigSimpCombine, and is now
       part of the regular distribution. Also, there was still a small
       bug in TrigSimp.
  <li> Added a section on debugging in the manual.
</ul>

<h1>Release of version 1.0.24 (25 December 1999)</h1>
<ul>
  <li> implemented TraceExp.
  <li> improved substitution rules for simple arithmetic.
  <li> IsFreeOf can now handle extended expressions:
       IsFreeOf(Cos(a),Cos(a)) will now return False.
  <li> A new module: "inprogress/trigsimp". This
       file defines a function TrigSimp that changes
       Cos(...)*Sin(...) expressions into Cos(...)+Sin(...)
</ul>

<h1>Release of version 1.0.23 (19 December 1999)</h1>
<ul>
  <li> changed the format for argument passing to Taylor
       and inversetaylor. It is now
       "Taylor(var,at,degree) function" and
       "InverseTaylor(var,degree) function"
  <li> Subst implemented. Subst(x,y)x+x should return y+y.
  <li> Introduced the concept of a 'generic object'. Next to
       atoms and lists, there can now be objects Yacas can deal with.
  <li> implemented the first generic object: an array class. This
       greatly speeds up random access to large lists (if treated
       as an array). Array acces is O(1) whereas list access is O(n).
  <li> updated the documentation to reflect the most recent additions:
       Assoc,  AssocIndices, Drop, Take, Partition, LeftPrecedence,
       RightPrecedence, ToString, Secure, FindFile, Subst, IsGeneric,
       GenericTypeName, ArrayCreate, ArraySize, ArrayGet, ArraySet,
       ArrayCreateFromList, ListFromArray

</ul>


<h1>Release of version 1.0.22 (13 December 1999)</h1>
<ul>
  <li> enabled logging through a dedicated singlethreaded
       server. see launchserver for details. 
  <li> Added makefile code to autogenerate the manual. Code
       supplied by Juan Pablo Romero. So 'make install'
       will now also build the online manuals.
  <li> Added a very preliminary interface to MySQL. This is
       done by invoking the default mysql client, passing in
       a file for stdin, and then reading the result and casting
       it into a list that Yacas can read. tools/mysqlstubs does this.
       You don't have to have mysql installed to build Yacas,
       which is a nice thing.
  <li> FindFile, which scans the default directories for a file.
  <li> made a tools directory, /usr/local/share/yacas/tools. Yacas
       can launch executables from there using SystemCall and
       FindFile. This directory should contain some loose exes
       to connect to other programs. For now the http servers and
       the mysql stubs are there. In the future such things as
       a stubs for superficie and for gnuplot should also be there.
  <li> The documentation is now built when you type 'make', in stead
       of when 'make install' is invoked.
</ul>


<h1>Release of version 1.0.21 (11 December 1999)</h1>
<ul>
  <li> Removed warnings during compilation
  <li> Server returns a slightly better page on error.
  <li> Implemented a maximum time the server will take for
       a calculation (default 30 secs)
  <li> Implemented a configuration file scheme for the server.
  <li> fixed printing bug, where a-(b-c) was printed as a-b-c.
  <li> Implemented a 'Secure' keyword. This disallows reading from
       and writing to files, as well as system calls, from Yacas.
       Useful when used within the server.
  <li> Added "Examples" button functionality to the forms.
</ul>

<h1>Release of version 1.0.20 (5 December 1999)</h1>
<ul>
  <li> Improved error reporting due to James Gilbertson.
  <li> a Windows executable is now on the net, winyacas.zip,
       due to James Gilbertson.
  <li> ?keyword will now give you help on that keyword. Try it
       with '?Apply' or so.
  <li> Slight improvements to the server code.
</ul>

<h1>Release of version 1.0.19 (29 November 1999)</h1>
<ul>
  <li> Improved windows version.
</ul>


<h1>Release of version 1.0.18 (28 November 1999)</h1>
<ul>
  <li> Improved server code
  <li> implemented a simple database
  <li> improved error reporting. Errors now show the file and
       line the error occurred.
</UL>

<h1>Release of version 1.0.17 (27 November 1999)</h1>
<ul>
  <li> removed the const from LispString (some compilers fell over it)
  <li> improved the server to also serve html pages, and allow for
       password authentication.
  <li> Fixed online manual building. You can now type './mkmanual', and
       then when in yacas, type '??', and help should pop up again.
</ul>


<h1>Release of version 1.0.16 (22 November 1999)</h1>
<ul>
  <li> The : operator now also accepts strings. "a" : "b" should
       now return "ab"
  <li> The manual is now completely generated using Yacas as a
       document processing language, much like LaTeX.
</UL>

<h1>Release of version 1.0.15 (20 November 1999)</h1>
<ul>
  <li> Drop, Take, Partition incorporated in the distribution
       (as supplied by Juan Pablo Romero).
  <li> Assoc lists are now implemented.
  <li> Fixes to make yacas work on a Dec Alpha.
  <li> improvements to the autoconf/automake scripts
</ul>


<h1>Release of version 1.0.14 (12 November 1999)</h1>
<ul>
<li> %d numbering in server input/output
<li> DestructiveReplace, Replace
<li> change CanBeUni to support f(x)/const constructions.
  Expand(Taylor(Sin(a*x),x,0,3)) will now work correctly.
<li> Expand a little on integration.
  <ul>
  <li> Integrate standard analytic functions like Sin, Cos, Exp.
  <li> partial integration: first step could be integrating
    polynomial*function.
  </ul>
<li> Make a LispString derived class that can use a const string, copied,
  and thus not freed.
<li> files IN the executable.
  <ul>
  <li> allow loading from exe.
  <li> a mechanism to put scripts in the executable (preliminary).
  </ul>
</ul>
<h1>Release of version 1.0.13 (12 November 1999)</h1>
<ul>
  <li> moved to autoconf/automake scripts.
  <li> many many many changes to clean up the source distribution,
       thanks to Daniel Richard G.
</ul>

<h1>Release of version 1.0.12rev1 (11 November 1999)</h1>
<ul>
   <li> Changes to allow compilation under Sun/SGI.
   <li> Improved the www server. Check cgiserver02.
   <li> added FromString command.
   <li> slight change to license. It should now at least be
        compatible with GPL licenses.
</ul>

<h1>Release of version 1.0.12 (7 November 1999)</h1>
<ul>
   <li> There is now a mini www server in the server/ directory!
        Read the readme file for its usage.
</UL>

<h1>Release of version 1.0.11</h1>
<ul>
   <li> Added code to support Windows, supplied by James Gilbertson
   <li> Added fix to support GMP again. Supplied by Igor Khavkine.
   <li> Added Sum({list}) and Average({list}). Examples: Sum({1,2,3})
        evaluates to 6, and Average({1,2,3}) evaluates to 2.
</UL>

<h1>Release of version 1.0.10</h1>
<ul>
  <li> Fixed bug in BubbleSort
  <li> Added 'Diverge', 'Curl' and 'FillList',
       and threaded derivatives
       as supplied by Igor Khavkine. Example: D({x,y,z})Sin(x*y).
</ul>

<h1>Release of version 1.0.9</h1>

<h3>DOCUMENTATION </h3>
<ul>
  <li> IsInFix, IsPreFix, IsPostFix, OpPrecedence, GetPrecision
  <li> BitAnd, BitOr, BitXor
  <li> functional operators :, .., @, /@
  <li> Find, Simplify, Conjugate, Rationalize
</ul>

<h3>ENGINE</h3>
<ul>
<li> additional debug code: count number of defined functions:
  built-ins, RuleBases. 
<li> binarysearch in some places, in stead of linear search.
<li> split mathenvironment into that plus commands.cpp/h
<li> Add support for access to some engine information: 
  <ul>
  <li> GetPrecision() 
  <li> IsInFix, IsPreFix, IsPostFix, OpPrecedence.
  </ul>
<li> BitAnd, BitOr, BitXor
</ul>

<h3>MATH</h3>
<ul>
<li> Added the functional operators, .., :, @ and /@, to the
  standard loaded functions.
<li> implemented list[[{index}]]. So now you can do list[[2 .. 4]],
  which will return a list with the elements 2, 3 and 4 of
  the original list.
<li> Change syntax for Limit: Limit(var,value) function
</ul>

<h1>Release of version 1.0.8</h1>

<UL>

<li> Access to help from the console version, by typing ??. This uses
  lynx.
<li> Experimented a little with a calculator approach. See fltkcalc
  for the results.
<li> Home page redesigned.

</ul>

<h1>Release of version 1.0.7</h1>

Another bug fix release. Rule base code has been cleaned up. A
precedence scheme for rules is now in place. This should avoid
bugs due to rules interacting in unforeseen ways. Speedups in
the code where lists were built: Concat replaced by DestructiveInsert.
Reverse changed into DestructiveReverse.

<h1>Release of version 1.0.6</h1>

Bug fix release. Implemented InverseTaylor. Extended manual some.

<h1>Release of version 1.0.5</h1>

Changed form of manual on home page. It now uses frames. Added
Polynomial support, preliminary symbolic integration. Several
bug fixes. Created a mailing list yacas@onelist.com

<h1>Release of version 1.0.4</h1>

Added just-in-time loading. Spreaded the rules database over many
small files, so application startup should be a lot faster. Added
support for threaded functions. Assorted bug fixes.

<h1>Release of version 1.0.3</h1>

Added MathNth (in place of Nth, which is now implemented in 'standard'
package). Added an fltk-based application (yacasnotepad).

<H1>Release of version 1.0.2</h1>

Implementation of a native arbitrary precision arithmetic module.
The source is now more platform-independent. Some bugs were fixed,
and new commands added.


<H1>Release of version 1.0.1</h1>

Improved math rules database. Implemented the most important linear
algebra algorithms. Added yaglviewer, a small interactive 3d viewer
based on OpenGL and glut. yaglviewer is basically a standalone
application, reading a very simple scripting language with commands
similar to opengl's, and then showing the result.


<H1>Release of version 1.0 (initial release).</H1>

This is the first fully working version of Yacas that is
released as free source.
<P>
The language specification has been finalized, so future releases
should be backward-compatible.
<P>

This distribution contains a small library with mathematical algorithms.

</FONT>
</BODY>

</HTML>