toString Box = "$"
toString Agent = "@"
toString Target = "."
+ toString TargetBox = "*"
+ toString TargetAgent = "+"
parse :: String *World -> (SokobanPuzzle, *World)
parse fp w
'$' = Box
'@' = Agent
'.' = Target
+ '+' = TargetAgent
+ '*' = TargetBox
' ' = Free
_ = abort ("Unknown char: '" +++ toString x +++ "'")
= ([current:rest], xs)