func main() { // v1, v2 := l.Fresh2() // g := func (a, b int) l.Goal { // return l.Unify(a,b) // } // c := l.Run(v2, l.Or(l.And(l.Unify(v1,3), // l.Unify(v2,v1), // l.Unify(v1,l.Fresh()), // l.Unify(10,l.Fresh()), // g(1,1)), // l.Unify(v2,5), // l.Unify(v2,8))) // fmt.Println("# Results 1") // for { // i := <- c // if i != nil { // fmt.Println(i) // } else { // break // } // } q, x := l.Fresh2() c := l.Run(q, l.And(mult(q, x, 4), l.Unify(x, 2))) fmt.Println(<-c) }
func main() { q := l.Fresh() c := l.Run(q, archo(q)) for { i := <-c if i != nil { fmt.Println(i) } else { break } } }
func main() { q := l.Fresh() c := l.Run(q, newso(q)) for n := 0; n < 10; n++ { i := <-c if i != nil { fmt.Println(i) } else { break } } }