Esempio n. 1
0
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)

}
Esempio n. 2
0
func main() {
	q := l.Fresh()

	c := l.Run(q, archo(q))

	for {
		i := <-c
		if i != nil {
			fmt.Println(i)
		} else {
			break
		}
	}

}
Esempio n. 3
0
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
		}
	}

}