Andrew wrote:I've managed to get Hersrch to compile and run on my Mac and Linux systems. Modified source files are here:...
Looks good -- thanks! Now that Hersrch is finding its way onto more platforms, I'm a little more worried about the bug that someone, most likely I, added to Hersrch at some point. It's mentioned in the change log:
> crash... when running test.bat with F171 Bx222 Bx222 as impossible sequence
The crash doesn't happen with the original code, but it does with my very minimally modified version that prints out variable values and variant names. I'll take a look and see if I can make the crash go away, next time I'm feeling inspired.
Maybe now is a good time for me to think again about a GUI for Hersrch. Several times I've started writing a simple set of scripts that would allow you to select pieces of the current pattern and label them as start Herschel, end Herschel, or obstacle -- and describe the degrees of freedom somehow (I think this was where I got stuck).
Then the script would write out a Hersrch batch file automatically, run the search, and then display the resulting candidate tracks one after another, dropped into the correct location -- ideally discarding candidates that overlap the obstacles.
None of this is terribly difficult, really -- the biggest thing might be to adjust Hersrch to output LifeHistory patterns with the reaction envelopes included. But I might just write Python code to rebuild each track based on the string of variants reported for each candidate.
I guess one thing that's been stopping me on this project is the fact that I'd have had to apologize for having it only work on Windows... now I don't have that excuse any more!
Any thoughts on shipping Windows/Mac/Linux versions of this with Golly, and hopefully some other search utilities as well? It would be nice to have gencols, ptbsearch/catalyst, dr, etc. in working order, right along with Golly or as an optional package of some kind. Golly scripts could be used to make a decent GUI for several of these search programs.