下面是我在 Curry 中的第一个程序。它打印达到所需解决方案所需的步骤序列(穿过关闭的门)。
Evaluating expression: main
Done
(Just [Open,Walk,Close])
我怎样才能让它在寻找时终止Impossible
?我正在使用 Kics2 0.3.1。
import List
import AllSolutions
import IO
import ReadShowTerm
import Constraint
data State = Opened | Closed | Outside | Done | Impossible
data Action = Open | Walk | Close
e Open Closed = Opened
e Walk Opened = Outside
e Close Outside = Done
solution target | foldl (flip e) Closed actions =:= target & length actions <: 4 = actions
where actions free
main = do
target <- getContents
getOneValue (solution $ readTerm target) >>= print