David wrote:(Sorry, but this program becomes slower than WLS when I try to search complicated pattern, such as 2c/7 spaceship.)
It's a Java application, so it's essentially an interpreted code. It cannot be ever faster than a compiled program, despite all the just-in-time compilations and other optimizations Sun/Oracle have invented and implemented to it.
It may be comparable with WLS or even faster when various kinds of symmetries are used as it is designed to optimize them and doesn't work on cells but on "variables".
On the other hand, it is portable and can be used "as is" on many platforms, plus it has features that AFAIK are not present in any other search program.
David wrote:But there is an annoying bug. When I try to search oscillators, still lives also are searched, and also sub-periodic oscillators... (i.e. Still lives and period 2 oscillators are searched when I try to search period 4 oscillators.)
Well... sorry but that's not a bug. If you start an unconstrained search, then if a stable pattern fits it, it's a valid solution too. If you don't want to see stable solutions, just define one cell which is not stable - set it to ON in generation 0 and OFF in generation 1. Then set up search sorting to start searching from that cell out (diamond expansion is probably the best for that purpose).
If you are looking for 100% volatile patterns then JLS unfortunately does not support setting up such constraint but it can be added if necessary. I did not want to add too many features which would turn out unused, for instance I had a "phoenix" constraint in for a brief period but then I removed it as I did not consider it useful or important enough to stay. It is not hard to add such constraints and they don't slow down the search significantly (when turned on; when constraint is not used it has zero impact), the problem is that it's possible to come up with hundreds of them and the question is which are useful enough to deserve being implemented and added to the GUI.