One of the big challenges with creating an interface for Chuffed was that the C++ features it uses make translating it to Rust very difficult to do. Additionally, rust-specific bindings did not exist for it like they did for something like SAT. A new project could implement support for a new solver that works well with rust and that ideally already has rust bindings.
Google’s ORTools is an open-source tool suite for solving combinatorial optimization. It contains two constraint programming solvers CP* and CP-SAT which already have rust bindings. ORTools is very powerful and quite popular so we would realistically support it sooner or later. From my brief look over the solvers, it seems like it could be much easier to implement than Chuffed and there already seem to be rust bindings created for ORTools.
One of the big challenges with creating an interface for Chuffed was that the C++ features it uses make translating it to Rust very difficult to do. Additionally, rust-specific bindings did not exist for it like they did for something like SAT. A new project could implement support for a new solver that works well with rust and that ideally already has rust bindings.
Google’s ORTools is an open-source tool suite for solving combinatorial optimization. It contains two constraint programming solvers CP* and CP-SAT which already have rust bindings. ORTools is very powerful and quite popular so we would realistically support it sooner or later. From my brief look over the solvers, it seems like it could be much easier to implement than Chuffed and there already seem to be rust bindings created for ORTools.
Relevant links: