A Sudoku solver and Ruby experiment
- Ruby 100%
| .gitignore | ||
| algorithm.rb | ||
| README.txt | ||
| solve | ||
| solve-pragpub | ||
| solver.rb | ||
| solver_spec.rb | ||
| stats_keeper.rb | ||
| sudoku_exceptions.rb | ||
| sudoku_puzzle.rb | ||
| sudoku_puzzle_spec.rb | ||
| TODO.txt | ||
| trial_error_algorithm.rb | ||
| trial_error_algorithm_spec.rb | ||
This Sudoku solver was created as a way for me to play with some concepts I've been thinking about. At first I wanted to do this in a functional language, eg. Haskell or Erlang (as a way of learning functional thinking). But I found it difficult to think about problems without thinking in terms of objects. So I chose Ruby as a way to flesh out the problem space. Primarily because: 1. Ruby is conceptually similar to the languages I know best (Smalltalk and Python) 2. I'm bored with Python 3. Smalltalk is my day job, and this is for fun. Specific concepts that I'm thinking about: - Immutability. What would happen if I treated objects as if they cannot be modified? - Biological systems. What would happen if I thought of my Sudoku solver as some sort of life form that eats puzzles for breakfast? What can I learn from the amazing design of existing biological systems? This code can be used under the terms of the GPL version 2. (I haven't looked at version 3 yet) Contact me if you want to use it under a different license. Andreas Pauley Gmail: apauley (complete the rest of the address yourself)