Index: lang/scala/sandbox/src/jp/gr/java_conf/mizu/util/Control.scala
===================================================================
--- lang/scala/sandbox/src/jp/gr/java_conf/mizu/util/Control.scala (revision 5881)
+++ lang/scala/sandbox/src/jp/gr/java_conf/mizu/util/Control.scala (revision 5992)
@@ -3,36 +3,4 @@
 object Control {
   class BreakFromLoopException extends Exception
-
-
-  //y until(x)
-  implicit def postUntil(y : => Unit) = new {
-    def until(x : => boolean) :Unit = try { 
-      while(!x) y; () 
-    } catch {
-      case e :BreakFromLoopException => ()
-    }
-  }
-
-  //y while$(x)
-  implicit def postWhile(y : => Unit) = new {
-    def while$(x : => boolean) :Unit = try { 
-      while(x) y; ()
-    } catch {
-      case e :BreakFromLoopException => ()
-    }
-  }
-
-  //y $if(x)
-  implicit def postIf(y : => Unit) = new {
-    def if$(x : => boolean) = { if(x) y }
-  }
-
-  def while$(x : => boolean)(y : => Unit) {
-    try {
-      while(x) y
-    } catch {
-      case e :BreakFromLoopException => ()
-    }
-  }
 
   class RichIterable[T](iterable :Iterable[T]) {
@@ -49,8 +17,62 @@
   	}
   }
-  
+
   implicit def ext2Iterable[T](iterable :Iterable[T]) = {
     new RichIterable(iterable)
   }
+
+  //y while$(x)
+  implicit def postWhile(y : => Unit) = new {
+    def while$(x : => boolean) :Unit = try { 
+      while(x) y; ()
+    } catch {
+      case e :BreakFromLoopException => ()
+    }
+  }
+
+  //y until(x)
+  implicit def postUntil(y : => Unit) = new {
+    def until(x : => boolean) :Unit = try { 
+      while(!x) y
+    } catch {
+      case e :BreakFromLoopException => ()
+    }
+  }
+
+  //y unless(x)
+  implicit def postUnless(y : => Unit) = new {
+    def unless(x : boolean) {
+      if(!x) y
+    } 
+  }
+
+  //y $if(x)
+  implicit def postIf(y : => Unit) = new {
+    def if$(x : => boolean) = { if(x) y }
+  }
+
+  //while$(x){ y }
+  def while$(x : => boolean)(y : => Unit) {
+    try {
+      while(x) y
+    } catch {
+      case e :BreakFromLoopException => ()
+    }
+  }
+
+  //until(x){ y }
+  def until(x : => boolean)(y : => Unit) {
+    try {
+      while(!x) y
+    } catch {
+      case e :BreakFromLoopException => ()
+    }
+  }
+
+  //unless(x){ y }
+  def unless(x : boolean)(y : => Unit) {
+    if(!x) y
+  }
+  
   
   def break = throw new BreakFromLoopException
