@@ -441,6 +441,13 @@ syntax "[" [start] "," [next] ".." "]"
442---- More utilities
442---- More utilities
444+||| repeatedly apply f to v until p is True
446+until : (a -> Bool) -> (a -> a) -> a -> a
447+until p f v with (p v)
448+ | False = until p f (f v)
444curry : ((a, b) -> c) -> a -> b -> c
451curry : ((a, b) -> c) -> a -> b -> c
445curry f a b = f (a, b)
452curry f a b = f (a, b)