Completely new to Haskell and I would appreciate some help.
Implementing predicates in Prolog that make use of some constraints that reduce the solution space so that the overall implementation is not a naive / brute force one is extremely easy. However now that I have to deal with Haskell I have no idea how to do this.
Given that at some point P1 I make a choice say A1 and at a later point in time P2 I make a choice say A2 that does not obey my constraint how can I go back to P1 and make a different choice in Haskell ?
I study Haskell for 2 days now and from what I've read this might be doable either by declaring a function inside a function or by using monads which I don't really understand and confuse me.
Could you please link me to / show me some simple Pick it - Leave it under constraints predicates that make use of backtracking -- preferably without monads -- so I can wrap my head around it?