From c502d1b4976a176b367e1633354544ad3e0ac61f Mon Sep 17 00:00:00 2001
From: Philippe Suter <philippe.suter@gmail.com>
Date: Thu, 7 Jul 2011 19:50:26 +0000
Subject: [PATCH] benchmark works with findAll but crashed weirdly with
 lazyFindAll

---
 cp-demo/BinarySortedLists.scala | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 cp-demo/BinarySortedLists.scala

diff --git a/cp-demo/BinarySortedLists.scala b/cp-demo/BinarySortedLists.scala
new file mode 100644
index 000000000..17d886210
--- /dev/null
+++ b/cp-demo/BinarySortedLists.scala
@@ -0,0 +1,19 @@
+import cp.Definitions._
+import cp.Terms._
+
+object BinarySortedLists {
+  def main(args : Array[String]) : Unit = {
+    val inRange : Constraint1[Int] = ((x : Int) => x >= 0 && x <= 1)
+  
+    val sortedLists =
+      for(x <- inRange.lazyFindAll;
+        y <- inRange.lazyFindAll if y >= x;
+        z <- inRange.lazyFindAll if z >= y)
+      yield {
+        x.value; y.value; z.value;  
+        List(x, y, z)
+      }
+  
+    sortedLists.foreach(println(_))
+  }
+}
-- 
GitLab