ellisk42/ec

Any major differences between OCaml and python Enumeration solvers?

rkjones4 opened this issue · 1 comments

Hi!

I am setting up DreamCoder to work on a new visual domain, where the goal is to infer a program that can recreate an input image. I have a version of this domain's executor written in python, which made it fairly easy to plug in to the enumeration solver logic in python. So far, it seems like the python enumeration logic is working (e.g. it finds solutions to some tasks).

My question is whether using this python enumeration solver mode constitutes a 'fair' comparison against dreamcoder? Put another way, is there any reason to expect that the results of the python enumeration solver and the OCaml enumeration solver should be meaningfully different? If possible, I would like to avoid re-implementing my domain's executor in OCaml :)

Thank you for the help!

Main difference is in speed (affects solutions found w.r.t. enumeration timeout) and ability to run the enumeration strategy in parallel.