(.require [library [lux (.except) [abstract [monad (.only do)]] [control ["[0]" try (.only Try) (.use "[1]#[0]" functor)] [concurrency ["[0]" async (.only Async) (.use "[1]#[0]" monad)]]] [data [text ["%" \\format (.only format)] [encoding ["[0]" utf8]]] [format ["[0]" xml]]] [world ["[0]" file] ["[0]" console (.only Console)]]]] ["[0]" /// [command (.only 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 (|>> (of xml.codec encoded) (of utf8.codec encoded))) async#in) _ (of fs write ///pom.file content)] (is (Async (Try Any)) (console.write_line ..success console))))