Hey all: I just wanted to say that I've implemented code for manipulating permutations in Lisp in a library called CL-PERMUTATION. The more interesting thing perhaps is additional code for manipulating permutation groups. For example, you can generate random group elements, compute strong generators, test membership, calculate order, etc. It's not as complete or efficient as GAP, but it's in Lisp. Who doesn't want that? :) I want to try to integrate it with Maxima, but I don't know how to really do that at the moment. You can download the code and see the README which has examples here. https://bitbucket.org/tarballs_are_good/cl-permutation It includes for example a computation showing you can't flip a single edge on a Rubik's cube. Contributions are of course welcome. Cheers, Robert P.S., I'm also working on code (no where near complete) for manipulating real algebraic numbers. That might be more interesting for you folks whenever it gets done.