[MLton-commit] r5360
Vesa Karvonen
vesak at mlton.org
Wed Feb 28 04:32:52 PST 2007
Fixed a bug. Something tells me there must be a better implementation
technique...
----------------------------------------------------------------------
U mltonlib/trunk/com/ssh/misc-util/unstable/queue.sml
----------------------------------------------------------------------
Modified: mltonlib/trunk/com/ssh/misc-util/unstable/queue.sml
===================================================================
--- mltonlib/trunk/com/ssh/misc-util/unstable/queue.sml 2007-02-28 09:55:47 UTC (rev 5359)
+++ mltonlib/trunk/com/ssh/misc-util/unstable/queue.sml 2007-02-28 12:32:36 UTC (rev 5360)
@@ -49,8 +49,11 @@
NONE => NONE
| SOME (a, n) => (front := n ; SOME a)
- fun filter p (IN {back, front}) =
- back := Node.filter p (!front)
+ fun filter p (q as IN {back, front}) =
+ case N.get (!front) of
+ NONE => ()
+ | SOME (v, n) => if p v then back := Node.filter p n
+ else (front := n ; filter p q)
fun filterOut p =
filter (negate p)
More information about the MLton-commit
mailing list