(.using [library [lux "*" [abstract [monad {"+" do}]] [control ["[0]" try ("[1]#[0]" functor)] [concurrency ["[0]" async {"+" Async} ("[1]#[0]" monad)]]] [data [text ["%" format {"+" format}] [encoding ["[0]" utf8]]] [format ["[0]" xml]]] [world ["[0]" file] ["[0]" console {"+" Console}]]]] ["[0]" /// "_" [command {"+" Command}] ["[1][0]" action] ["[1][0]" pom]]) (def: .public success (format "Successfully created POM file: " ///pom.file)) (def: .public (do! console fs profile) (-> (Console Async) (file.System Async) (Command Any)) (do ///action.monad [content (|> (///pom.write profile) (try#each (|>> (# xml.codec encoded) (# utf8.codec encoded))) async#in) _ (# fs write content ///pom.file)] (console.write_line ..success console)))