1 Aug 02:34 2003

### Re: [Gcl-devel] Re: portable cdecl 'elliptic' function calls

>>>>> "Mike" == Mike Thomas <miketh <at> brisbane.paradigmgeo.com> writes:

Mike> The gcc source seems to imply it works on Windows but some docs
Mike> I've read on the web don't list Windows as a target platform for
Mike> libffi.  (Never built gcc so can't say which.)

libffi works fine on Windows.  You can easily find out where it works
by looking in gcc/libffi/configure.in.  There is a big case statement
that sets up the build for all the working platforms.

Things are a little different if you use the closure API.  Then you
have to look in gcc/libffi/include/ffi.h.in to see what platforms
define FFI_CLOSURES.

The "normal" API works on more platforms than the closure API.  I
think libffi works on all the Debian architectures except HPPA.
Nobody has ever done that port.

Tom


1 Aug 03:36 2003

### Re: GCL compliance and Bill Schelter

Hi Bruno Haible,

> Sam Steingold wrote:
>>>As CLISP's copyright states, to be an independent work a program must
>>>"only reference external symbols in CLISP's public packages (namely the
>>>packages COMMON-LISP, COMMON-LISP-USER, KEYWORD, EXT) ..."
>>
>> the crucial part is the next phrase you omitted:
>>
>> "i.e. if they don't rely on CLISP internals and would as well run in
>> any
>>  other Common Lisp implementation."
>>
>> the idea is that any application that does not _require_ CLISP to run
>> is _not_ infected by CLISP GPL.
>
> That's nearly the idea. But the phrase is: "... would as well run in
> _any_ other Common Lisp implementation", not "... would as well run in
> _some_ other Common Lisp implementation". So the idea is that
> applications that are written in _portable_ Common Lisp are treated as
> independent work.

So programs that merely access exported symbols in the public packages but
are not "written in _portable_ Common Lisp" (i.e. their execution depends
upon calling CLISP-specific functionality from the EXT package) are not
treated as independent works?

[Perhaps it depends upon the open question as to what extent dynamic
linking can create a derivative work, which is a matter of general GPL
interpretation]


12 Aug 20:38 2003

### RE: differential operator in maxima

Thanks for your interest in Maxima.  The questions are not at all
stupid!!

I am not a Maple user, so I may be misunderstanding the issue, but....

It appears that Maple generally manipulates functions with explicit
arguments, e.g. f(x).  Maxima on the other hand generally works on
expressions, which are implicitly functions of all variables they
include.

Rather than defining a function F(x), in Maxima you would typically name
an expression, e.g.

expr: sin(asin(x)+e);

You can now differentiate it with respect to x:

expr1: diff(expr,x);

yielding

cos(asin(x)+e)/sqrt(1-x^2)

To evaluate this at x=0, there are three possible mechanisms:

Substituting:

subst([x=0],expr1) => cos(e)

Evaluating:


1 Aug 10:21 2003

On Tue, Jul 22, 2003 at 05:19:06AM +0200, Wolfgang Jenkner wrote:
> "Stavros Macrakis" <stavros.macrakis <at> verizon.net> writes:
>
> > There is an "ineq" share file, but that is just for convenience in
> > *manipulating* inequalities, allowing e.g. x*(a<b) => x*a<x*b (if x>0).
> > (And anyway it doesn't currently even load without error....)
>
> Actually, I (think to have) fixed this some time ago in
>
> http://members.inode.at/wjenkner/maxima/ineq.mac
>
> (at least, ineq.dem works with it).
>
> Wolfgang
>

Hi to everybody and thanks for suggestions.

and put it instead of the ineq.mac supplied with the Maxima package.
Here is what did I get:

g + e partitions SUM
g + e partitions SUM
g + e partitions SUM
g + e partitions SUM
g + e partitions SUM
g + e partitions SUM
g + e partitions SUM


1 Aug 12:32 2003

### Re: Maxima reference manual

C Y writes:
> I agree a published Maxima book would be a very good thing.  Maybe in
> the distant future something could be done with the Maxima user manual
> as well once it is complete, but I suppose we would need a publisher
> who can live with the GPL.

I would publish the Maxima reference manual, provided it is freely
redistributable and the copyright assignments are clear.

The main risk with commercial publication of free documentation is
that a copyright problem with one contributor can jeopardise the whole
book.  It's very expensive if the book has to be pulled from
distribution after the printing costs have been incurred.

regards,

--

--
Brian Gough

Network Theory Ltd
15 Royal Park
Bristol BS8 3AL
United Kingdom

Tel: +44 (0)117 3179309
Fax: +44 (0)117 9048108
Web: http://www.network-theory.co.uk/

1 Aug 17:58 2003

### Re: plot2d & cmucl 18e

>>>>> "Vadim" == Vadim V Zhytnikov <vvzhy <at> mail.ru> writes:

Vadim> It seems that plot2d in Maxima CVS is broken
Vadim> for cmucl.  Any plot2d command hangs forever
Vadim> (at least very long time) using 90% CPU.
Vadim> The same plot2d with Clisp and GCL are OK.
Vadim> Cmucl version is 18e release.

Ok, I was able to reproduce this, but that's because I had an
out-of-date plot.lisp.  Are you sure you have the most recent
plot.lisp?  I think the declaration for x and y in draw2d were
declarations for x and y.

Ray

12 Aug 21:21 2003

### Axiom and Maxima

Jim,

It appears that we can combine Axiom and Maxima in a single image.
It would then be possible to run a function in Axiom at the
command prompt and also run the same function in Maxima from Axiom's
command prompt:

-> 2+2 => 4          <== execute in Axiom
-> )lisp (maxima)    <== the )lisp runs a lisp command
# 2+2 => 4           <== execute in Maxima
# quit               <== leave Maxima
->

This will greatly facilitate testing and also help the CATS effort along.
I'm not sure of the namespace collision issues but it seems like they
could all be worked out.

Camm,

Do you know if Maxima will load into an Axiom workspace?
What issues arise?

If this works we could easily make "cover domains" for Maxima's
functionality in Axiom.

I already have plans "in place" (see the
savannah website) to merge ACL2 in a similar way.

Tim Daly


12 Aug 21:05 2003

### Re: Can MAXIMA do finite calculus?

If it is not in maxima, you can define (from macsyma 2.4)

GENFACT(X, Y, Z)

as the generalized factorial of X which is:

X*(X-Z)*(X-2*Z)*...*(X-(Y-1)*Z).

defining simplification methods is tricky. Do you
know how to do this mechanically by hand?
If so, try to write a program for that purpose.
RJF

wang yin wrote:
> Hi,
>
> I'm trying to to do some finite calculus with MAXIMA.
> But I don't know how to express "x to the m falling",
> i.e., x(x-1)(x-2)...(x-m+1) in MAXIMA conveniently.
>
> Is MAXIMA aware of this notation?
>
> If I express "k to the m falling" as k!/(k-m)! in nusum, I
> get:
>
> (C1)  nusum(k!/(k-m)!,k,0,n);
>
>                            (n + 1)!             m
> (D1)                   ---------------- + --------------
>                        (m + 1) (n - m)!   (m + 1) (- m)!


12 Aug 21:15 2003

### Re: Maxima reference manual


Brian Gough wrote:
> C Y writes:
>  > I agree a published Maxima book would be a very good thing.  Maybe in
>  > the distant future something could be done with the Maxima user manual
>  > as well once it is complete, but I suppose we would need a publisher
>  > who can live with the GPL.

Could a commercial publisher produce a book that said on its copyright
page "feel free to make any number of copies of this book."?

See the "A=B" book, however, which is an example of a book online as
well as in printed form.  I don't know what the printed form says.

>
> The main risk with commercial publication of free documentation is
> that a copyright problem with one contributor can jeopardise the whole
> book.  It's very expensive if the book has to be pulled from
> distribution after the printing costs have been incurred.

That's presumably why all publishers require that authors of collective
works sign copyright notices assigning these rights (perhaps
non-exclusively) to the publisher.

1 Aug 19:55 2003

Alexander <vidybida <at> bitp.kiev.ua> writes:

> put it instead of the ineq.mac supplied with the Maxima package.
> Here is what did I get:
>

[...]

> (C6) demo(ineq);
>
> batching /usr/local/maxima-5.9.0/share/maxima/5.9.0/share/simplification/ineq.dem
>  At the _ prompt, type ';' followed by enter to get next demo
> c a partitions PRODUCT
> c a partitions PRODUCT
> c a partitions PRODUCT
> c a partitions PRODUCT
> Is  e + a  positive, negative, or zero?
>
> pos;
> Circular rule attempted - TELLSIMPAFTER
>  -- an error.  Quitting.  To debug this try DEBUGMODE(TRUE);)

The reason is that you loaded ineq.mac twice since ineq.dem also loads
ineq.mac unconditionally.  This means that Maxima will use the rules
it has learned the first time when it is loading ineq.mac the second
time, hence circularities.  In general, one has to be careful about
this by creating separate rule packages (see the manual) or simply by