|
From: Robert D. <rob...@gm...> - 2016-05-10 05:27:49
|
On 2016-05-10, Robert Smith <qu...@sy...> wrote: > I'm not sure how literal you meant "merging with Maxima". As for > structure, I'd prefer to keep the library as a library. Yes, I believe only some superficial changes are needed. I guess one could create glue functions which are callable by a Maxima user and have those punt to the existing functions. Or one could rename the existing functions. My preference is the latter, as I don't like glue code; but I'll leave it to you to decide what to do about that. I see CL-PERMUTATION is ASDF-loadable. That's terrific. Do I understand correctly that it's Quicklisp-loadable? If so, that's intriguing. I recently made some patches for Quicklisp to make it possible to use it to load Maxima packages. But I think distributing Maxima packages via Quicklisp is probably too far out there at present, and instead we should focus our efforts on just copying the code into maxima/share. > Docs: I wouldn't mind writing texinfo documentation probably, but it would > be nice if the docs could be stand-alone and maybe cleverly integrated into > the manual. The Maxima reference manual is just a list of all the functions and variables, with a short description and maybe some examples for each one. If you don't already have something like that, it would be easy to write. > Test examples: some exist in the README, and there's a growing test suite ( > https://bitbucket.org/tarballs_are_good/cl-permutation/src/master/tests/). > More work could be put into this. OK, terrific. > Closures: Some functions produce closures, but I don't think it's necessary > to import all of CL-PERMUTATION, just a useful subset. I think the best > route would be to make a wrapper package CL-PERMUTATION.MAXIMA or something > that makes Maxima-friendly wrapped calls to CL-PERMUTATION, handling stuff > like output data types, etc. Well, I'd prefer to import all the user-visible functions, if possible. Let's not rule out any at this point. I don't think the permutation objects or closures will cause any problems, and if they do, I'd prefer to fix the problem in Maxima. best Robert Dodier |