-*- Mode: Text -*-


  Announcing the availability of FORMAT a hierarchical expression
formatter for Macsyma*. 

From the abstract of the documentation:
  "A package for formatting algebraic expressions in Macsyma* ...
It provides facilities for user-directed hierarchical structuring of
expressions, as well as for directing simplifications to selected
subexpressions.  It emphasizes a semantic rather than syntactic description
of the desired form.  The package also provides utilities for obtaining efficiently
the coefficients of polynomials, trigonometric sums and power series."

Some examples may be clearer than words:

/* A Basic rearrangement: */
(c1) format((a+b*x)*(c-x)^2,%poly(x),%factor);
        3                2                        2
(d1) b x  - (2 b c - a) x  + c (b c - 2 a) x + a c

/* A `mathematical' alternative to map or substpart...*/
(c2) format((1+2*a+a^2)*b + a*(1+2*b+b^2),%sum,%product,%factor);
              2          2
(d2) a (b + 1)  + (a + 1)  b

/* Focussing simplifications */
(c3) foo:X^2*SIN(Y)^4-2*X^2*SIN(Y)^2+X^4*COS(Y)^4-2*X^4*COS(Y)^2+X^4+X^2+1$

(c4) trigsimp(foo);
        4    2     4         4    2       4
(d4) (x  + x ) cos (y) - 2 x  cos (y) + x  + 1

/* That helps, but this is better: */
(c5) format(foo,%poly(x),trigsimp);
       4    4       2    4
(d5) x  sin (y) + x  cos (y) + 1

The package is written in Lisp, but should run under DOE & Macsyma Inc's
versions of Macsyma.

Available by anonymous FTP at gams.nist.gov:/local/ftp/pub/miller/format/
See the README file or contact miller@cam.nist.gov

*Disclaimer: The use of commercial products or their names implies no
endorsement by NIST, the Dept. of Commerce or  the U.S. Government.


