I’ve recently open-sourced my chess engine, Gyatso, which is written entirely in Nim. The project is still in an early stage, but it is fully functional and actively being improved.
The goal is both to build a stronger engine over time and to explore Nim’s suitability for performance-critical applications such as chess engines (move generation, search, pruning, and evaluation). Feedback from Nim users—whether about performance, code structure, or idiomatic Nim usage—would be especially valuable.
The engine is open source, and contributions, testing, and general comments are very welcome.
Repository: https://github.com/GyatsoYT/GyatsoChess
Releases: https://github.com/GyatsoYT/GyatsoChess/releases
Thank you to anyone who takes the time to look at the code or test the engine.
Had a poke, just to look at the code. Seems pretty idiomatic, good job. A few nitpicks would be to combine let/var statements into blocks, to use result instead of return when building up a return value in a variable, and to maybe use template instead of inline if you want to make absolutely sure things are inlined.
Apart from that writing a Nimble file to track dependencies and have build tasks (removing the need for your shell scripts) might be a good thing to consider.