https://github.com/hellerve/sudoku
in which we solve Sudoku puzzles
https://github.com/hellerve/sudoku
Last synced: 2 months ago
JSON representation
in which we solve Sudoku puzzles
- Host: GitHub
- URL: https://github.com/hellerve/sudoku
- Owner: hellerve
- Created: 2025-09-02T16:26:56.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-09T12:04:56.000Z (7 months ago)
- Last Synced: 2025-12-28T12:33:36.080Z (6 months ago)
- Language: Common Lisp
- Size: 10.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sudoku
in which I build a series of Sudoku solvers, accompanied by blog posts, written
in various programming languages. All of them implement simple backtracking, but
each of them works a bit differently, leveraging the individual strengths of
the language.
## The solvers
- [`sudoku.py`: written in Python. Reference implementation. Using MRV and DFS.](https://blog.veitheller.de/Six_Simple_Sudoku_Solvers_I:_Python_%28Reference%29.html)
- [`sudoku.lisp`: written in SBCL. Leveraging macros, bitsets, and type and
optimization declarations.](https://blog.veitheller.de/Six_Simple_Sudoku_Solvers_II:_Common_Lisp.html)
- [`sudoku.pro`: written in SWI Prolog. Declarative, leverages Prolog for core
algorithmn.](https://blog.veitheller.de/Six_Simple_Sudoku_Solvers_III:_Prolog.html)
- [`sudoku.hs`: written in Haskell. Leverages types and state using monads.](https://blog.veitheller.de/Six_Simple_Sudoku_Solvers_IV:_Haskell.html)
- [`sudoku.rs`: written in Rust. Trying to get it as raw and low-level as it gets
and minimize allocations.](https://blog.veitheller.de/Six_Simple_Sudoku_Solvers_V:_Rust.html)
- [`sudoku.ex`: written in Elixir. Utilizes the Beam and concurrency on first
split.](https://blog.veitheller.de/Six_Simple_Sudoku_Solvers_VI:_Elixir.html)
- [`sudolu.apl`: written in Dyalog APL. Uses arrays and terse operators to their fullest.](https://blog.veitheller.de/Simple_Sudoku_Solvers_SII,_EI:_Dyalog_APL.html)
- [`sudolu.carp`: written in Carp. Uses functional and imperative programming as it sees fit.](https://blog.veitheller.de/Simple_Sudoku_Solvers_SII,_EII:_Carp.html)
- [`sudolu.fs`: written in Forth. Stack-tical programming.](https://blog.veitheller.de/Simple_Sudoku_Solvers_SII,_EIII:_Forth.html)
Each of them is accompanied by a blog post, so check them out if you want more
information.
Have fun!