The various abstraction generators currently in existence.
* indicates which functions etc. are actually used in abs-functions.sml

-----------------------------------------------------------------------------

abs-generator-compress.sml
structure scompress =
       AbsGeneratorCompressFUN (structure Graph = g);

structure Graph : GRAPH
* val doCompressGen = fn : 'a -> bool
* val groupCompress = fn : g.node list -> g.node list * g.node list * g.absType

-----------------------------------------------------------------------------
abs-generator-orphans.sml
structure sorphans =
          AbsGeneratorOrphansFUN (structure Graph = g) ;

structure Graph : GRAPH
* val doNoOrphans = fn : 'a -> bool
* val groupNoOrphans = fn : g.node list -> g.node list * g.node list * g.absType

-----------------------------------------------------------------------------
abs-generator-pairs.sml
structure spairs =
           AbsGeneratorPairsFUN  (structure Graph = g) ;

structure Graph : GRAPH
* val doPairGen = fn : 'a -> bool
* val groupPairs = fn : g.node list -> g.node list * g.node list * g.absType
val make_a_chain = fn : int -> g.node list -> g.node list
val nth_nonStop = fn : int -> g.node option -> g.node list -> g.node option

-----------------------------------------------------------------------------
abs-generator-trees.sml
structure strees =
            AbsGeneratorTreesFUN (structure Graph = g) ;

structure Graph : GRAPH
* val doDownTreeGen = fn : WorkingMemory.workingMemory -> g.graph -> bool
* val doUpTreeGen = fn : WorkingMemory.workingMemory -> 'a -> bool
* val groupTrees = fn
  : bool -> g.node list -> g.node list * g.node list * g.absType
val getPreds = fn : g.node -> g.node list
val getSuccs = fn : g.node -> g.node list

-----------------------------------------------------------------------------
abs-generator-stars.sml
structure sstars =
             AbsGeneratorStarsFUN (structure Graph = g) ;

structure Graph : GRAPH
* val doPStarGen = fn : WorkingMemory.workingMemory -> 'a -> bool
* val doSStarGen = fn : WorkingMemory.workingMemory -> 'a -> bool
* val doStarGen = fn : 'a -> bool
* val groupStar = fn
  : string
    -> string -> int -> g.node list -> g.node list * g.node list * g.absType
val makeStar = fn : string -> int -> g.node -> g.node list
val maxStarNode = fn : string -> g.node list -> g.node list
val randomStarNode = fn : g.node list -> g.node list
val getPreds = fn : g.node -> g.node list
val getSuccs = fn : g.node -> g.node list

-----------------------------------------------------------------------------
abs-generator-bias-stars.sml
structure sbiasstars =
         AbsGeneratorBiasStarsFUN  (structure Graph = g) ;

structure Graph : GRAPH
* val doBiasStarGen = fn : 'a -> bool
* val groupBiasStar = fn : g.node list -> g.node list * g.node list * g.absType
val getPreds = fn : g.node -> g.node list
val getSuccs = fn : g.node -> g.node list
val makeBiasStar = fn : WorkingMemory.workingMemory -> g.node -> g.node list
val maxBiasStarNode = fn
  : WorkingMemory.workingMemory -> g.node list -> g.node list

-----------------------------------------------------------------------------



NOW, compare types of the ones that are needed.
These are do... and group...

-------------------  DO ----------------------------------------------------

val doCompressGen = fn : 'a -> bool
val doNoOrphans =   fn : 'a -> bool
val doPairGen =     fn : 'a -> bool
val doDownTreeGen = fn : WorkingMemory.workingMemory -> g.graph -> bool
val doUpTreeGen =   fn : WorkingMemory.workingMemory -> 'a -> bool
val doPStarGen =    fn : WorkingMemory.workingMemory -> 'a -> bool
val doSStarGen =    fn : WorkingMemory.workingMemory -> 'a -> bool
val doStarGen =     fn : 'a -> bool
val doBiasStarGen = fn : 'a -> bool

-------------------  GROUP --------------------------------------------------

val groupCompress =  fn : g.node list -> g.node list * g.node list * g.absType
val groupNoOrphans = fn : g.node list -> g.node list * g.node list * g.absType
val groupPairs =     fn : g.node list -> g.node list * g.node list * g.absType
val groupTrees =     fn : bool ->
                          g.node list -> g.node list * g.node list * g.absType
val groupStar =      fn : string -> string -> int ->
                          g.node list -> g.node list * g.node list * g.absType
val groupBiasStar =  fn : g.node list -> g.node list * g.node list * g.absType

***** there is also the "progressive" thing which doesn't show up here
