(.module: [lux #* [abstract [monad (#+ do)]] [control ["." try ("#\." functor)] [concurrency ["." promise (#+ Promise) ("#\." monad)]]] [data [text ["%" format (#+ format)] [encoding ["." utf8]]] [format ["." xml]]] [world ["." file] ["." console (#+ Console)]]] ["." /// #_ [command (#+ Command)] ["#." action] ["#." pom]]) (def: #export success (format "Successfully created POM file: " ///pom.file)) (def: #export (do! console fs profile) (-> (Console Promise) (file.System Promise) (Command Any)) (do ///action.monad [content (|> (///pom.write profile) (try\map (|>> (\ xml.codec encode) (\ utf8.codec encode))) promise\wrap) _ (\ fs write content ///pom.file)] (console.write_line ..success console)))