(.module: [library [lux "*" [abstract [monad {"+" [do]}]] [control ["." try ("#\." functor)] [concurrency ["." async {"+" [Async]} ("#\." monad)]]] [data [text ["%" format {"+" [format]}] [encoding ["." utf8]]] [format ["." xml]]] [world ["." file] ["." console {"+" [Console]}]]]] ["." /// "_" [command {"+" [Command]}] ["#." action] ["#." 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)))