--- /dev/null
+import "Prelude"
+import "Vector"
+import "File"
+
+@private
+copyDir2 :: File -> <Proc> ()
+copyDir2 sourceDir = iter copyDir $ vectorToList $ listFiles sourceDir
+
+@private
+copyDir :: File -> File -> <Proc> ()
+copyDir sourceDir targetDir = do
+ makeDirs targetDir
+ files = vectorToList $ listFiles sourceDir
+ iter (\sourceFile -> do
+ targetFile = childFile targetDir $ nameOfFile sourceFile
+ if isDirectory sourceFile then
+ copyDir sourceFile targetFile
+ else
+ copyFile sourceFile targetFile
+ ) files
+ ()
+
+main = "OK"
+----
+OK