idris-0.9.19.1: benchmarks/quasigroups/Main.idr
module Main
import System
import Parser
import Solver
main : IO ()
main = do
args <- getArgs
case args of
[_, path] => do
f <- readFile path
case parse f of
Left err => putStrLn err
Right (_ ** (board ** legal)) => do
putStrLn "Got board:"
printLn board
putStrLn "Solving..."
case fillBoard board legal of
Nothing => putStrLn "No solution found"
Just (solved ** _) => do
putStrLn "Solution found:"
printLn solved
[self] => putStrLn ("Usage: " ++ self ++ " <board file>")