0 people like it.

solver

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
  let solve next_f done_f initial =
      let rec search state =
          seq {
              if done_f state then
                 yield state
              else
                 for state' in next_f state do
                     yield! search state'
              }
      search initial
val solve : next_f:('a -> #seq<'a>) -> done_f:('a -> bool) -> initial:'a -> seq<'a>

Full name: Script.solve
val next_f : ('a -> #seq<'a>)
val done_f : ('a -> bool)
val initial : 'a
val search : ('a -> seq<'a>)
val state : 'a
Multiple items
val seq : sequence:seq<'T> -> seq<'T>

Full name: Microsoft.FSharp.Core.Operators.seq

--------------------
type seq<'T> = System.Collections.Generic.IEnumerable<'T>

Full name: Microsoft.FSharp.Collections.seq<_>
val state' : 'a
Raw view Test code New version

More information

Link:http://fssnip.net/6k
Posted:14 years ago
Author:
Tags: