mirror of
https://codeberg.org/JasterV/word-ladder.hs.git
synced 2026-04-26 18:10:06 +00:00
23 lines
634 B
Haskell
23 lines
634 B
Haskell
module Main (main) where
|
|
|
|
import Ladder (ladderSolve, readDictionary)
|
|
import System.Environment
|
|
|
|
printHelpText :: String -> IO ()
|
|
printHelpText msg = do
|
|
putStrLn (msg ++ "\n")
|
|
progName <- getProgName
|
|
putStrLn ("Usage: " ++ progName ++ " <filename> <start> <end>")
|
|
|
|
main :: IO ()
|
|
main = do
|
|
args <- getArgs
|
|
case args of
|
|
[dictFile, start, end] -> do
|
|
dict <- readDictionary dictFile
|
|
case ladderSolve dict start end of
|
|
Nothing -> putStrLn "No solution"
|
|
Just solution -> do
|
|
print solution
|
|
putStrLn ("Length: " ++ show (length solution))
|
|
_ -> printHelpText "Wrong arguments"
|