Example #1
0
    def anygoal(s):
        anygoal.goals, local_goals = it.tee(anygoal.goals)
        def f(goals):
            for goal in goals:
                try:
                    yield goaleval(reify(goal, s))(s)
                except EarlyGoalError:
                    pass

        return unique(interleave(f(local_goals), [EarlyGoalError]),
                      key=dicthash)
Example #2
0
 def allgoal(s):
     for i, g in enumerate(goals):
         try:
             goal = goaleval(reify(g, s))
         except EarlyGoalError:
             continue
         other_goals = tuple(goals[:i] + goals[i+1:])
         return unique(interleave(goaleval(
             reify((lallfirst,) + other_goals, ss))(ss)
             for ss in goal(s)), key=dicthash)
     else:
         raise EarlyGoalError()
Example #3
0
 def allgoal(s):
     g = goaleval(reify(goals[0], s))
     return unique(interleave(
                     goaleval(reify((lall,) + tuple(goals[1:]), ss))(ss)
                     for ss in g(s)),
                   key=dicthash)
Example #4
0
def test_interleave():
    assert ''.join(interleave(('ABC', '123'))) == 'A1B2C3'
    assert ''.join(interleave(('ABC', '1'))) == 'A1BC'
Example #5
0
def test_interleave():
    assert ''.join(interleave(('ABC', '123'))) == 'A1B2C3'
    assert ''.join(interleave(('ABC', '1'))) == 'A1BC'