Re: set.lisp redefines POWERSET / {} for sets



On Wed, 5 Mar 2003, Barton Willis wrote:

> (a) At a minimum, I'll add a note to the nset documentation that shows how 
> to use matchfix to allow sets 
> be entered using braces. This code could be placed in the maxima-init.mac 
> file. 
great. remains only to say that *programmers programming* in the maxima 
language should probably *not* use brace notation.

> (b) Yes, it is stupid to have multiple versions of powerset; nset.lisp 
> does define a function xpowerset that may duplicate 
> the powerset function defined in ratout.lisp (I think).  I'll see if nset 
> could use powerset instead and if so, expunge 
> it.  

> Finally,  I'll learn about  lisp packages and see if it's possible to 
> keep non-user functions from being exported
> from nset. 

This would be WONDERFUL! I don't want to study lisp packages on my own, 
I'd rather have you explain it to me...

Together with some thoughts about organisation of utilities like powerset,
cartesian, permutations, ... I think this would really add value. 

Well two thoughts:

x along with the documentation effort hopefully to be started soon (who is 
going to organize this?) we should tag each function with: 

o used only internally 
o used also by other modules 
BTW: what significance has the statement (macsyma-module blabla) ?

x in a second step, collect all the functions used by more than one 
module and make new modules for these functions (maybe only one, who 
knows. There are some modules like this around already)

x make all the "internal" functions unavailable from the outside.
(trace should probably still be able to trace them, though. well, if 
there are two different functions with the same name, we need also a 
possibility to address them uniquely. packages probably can do this, 
can't they?)

Martin