"destructively sorts" the sequence and returns the sorted sequence.
In reality, some systems do a destructive sort and others don't -- in all cases, you really need to do something like (setf x (sort x #'string<))
If you don't want the original list to be destroyed, you can do something like (setf x (sort (copy-seq x) #'string<))
Second, I'm not an Allegro user, but it should run at least as fast as Clisp. Allegro probably takes a longer time to start up, and you may have to compile the code to get speed, but it should be faster in the right conditions. Clisp generally isn't the fastest implementation, but its fast startup and quick bytecode interpreter make it a good choice for small command-line scripts.