1234567891011121314151617181920212223242526272829303132333435363738394041424344454647(* This file is free software, part of Zipperposition. See file "license" for more details. *)moduletypeS=sigmoduleCtx:Ctx.SmoduleC:Clause.SwithmoduleCtx=Ctxtypet=private{id:int;(** unique ID of the stream *)parents:C.tlist;(** parent clauses for inference generating this stream *)mutablepenalty:int;(** heuristic penalty *)mutablehits:int;(** how many attemts to retrieve unifier were there *)mutablestm:C.toptionOSeq.t;(** the stream itself *)}exceptionEmpty_StreamexceptionDrip_n_UnfinishedofC.toptionlist*int*int(** {2 Basics} *)valmake:?penalty:int->parents:C.tlist->C.toptionOSeq.t->tvalequal:t->t->boolvalcompare:t->t->intvalhash:t->intvalid:t->intvalis_empty:t->boolvalpenalty:t->intvaldrip:t->C.toption(** Remove the first element in the stream and return it.
@raise Empty_Stream if the stream is empty *)valdrip_n:t->int->int->C.toptionlist(** Attempt to remove the n first elements in the stream
and return them. Return less if the guard is reached.
@raise Drip_n_Unfinished(cl,n) where cl is the list of elements
already found and n the number of elements if the stream contains
less than n elements *)(** {2 IO} *)valpp:tCCFormat.printerend