Merge: Improve Comparator type-kindness
[nit.git] / lib / ai / search.nit
index 20a502c..21a349d 100644 (file)
@@ -13,6 +13,8 @@
 # The module provides a simple abstract class `SearchProblem[S,A]` to be specialized for a specific problem.
 #
 # The concrete class `SearchSolver` is used to configure, query, and run a solver for a given problem.
+#
+# For an example, see the `puzzle.nit` program in the `examples` subdirectory.
 module search
 
 import realtime
@@ -97,7 +99,7 @@ interface SearchProblem[S: Object, A]
        # An heuristic of the estimated `cost` going from `state` to a goal state.
        #
        # Is is expected that the heuristic is *admissible*, it means its is an
-       # optimistic estimation that never an over-estimate, thus is cannot be#
+       # optimistic estimation and never an over-estimate, thus is cannot be
        # higher than the lowest possible remaining cost.
        # See `SearchSolver::do_revisit` for details.
        #
@@ -606,7 +608,8 @@ end
 # Used to compare nodes with their score.
 # Smaller is score, smaller is the node.
 private class NodeComparator[S: Object, A]
-       super Comparator[SearchNode[S, A]]
+       super Comparator
+       redef type COMPARED: SearchNode[S, A]
        redef fun compare(a,b) do return a.score <=> b.score
 end