internal static System.Collections.Generic.IEnumerable<CutState> Retract(object term, PrologContext context) { ELNode foundNode; ELNodeEnumerator enumerator; if (!TryQuery(term, context, out foundNode, out enumerator)) return CutStateSequencer.Fail(); if (foundNode != null) { foundNode.DeleteSelf(); return CutStateSequencer.Succeed(); } return DeleteSuccessive(enumerator); }
internal static IEnumerable <CutState> Retract(object term, PrologContext context) { ELNode foundNode; ELNodeEnumerator enumerator; if (!TryQuery(term, context, out foundNode, out enumerator)) { return(CutStateSequencer.Fail()); } if (foundNode != null) { foundNode.DeleteSelf(); return(CutStateSequencer.Succeed()); } return(DeleteSuccessive(enumerator)); }
internal IEnumerable <CutState> FindClauses(Structure head, object body) { PredicateInfo i = CheckForPredicateInfo(head.PredicateIndicator); return((i == null)?CutStateSequencer.Fail():i.FindClauses(head, body)); }