(.using [library [lux "*" [abstract [monad {"+" do}]] [control [try {"+" Try}] [concurrency [async {"+" Async}]]] [world ["[0]" file] ["[0]" console {"+" Console}]]]] ["[0]" / "_" ["[1][0]" snapshot] ["/[1]" // "_" ["[1][0]" install] ["/[1]" // "_" [command {"+" Command}] [repository {"+" Repository}] [artifact {"+" Artifact}] ["[1][0]" action]]]]) (def: .public success "Successfully deployed the project.") (def: .public (do! console local remote fs artifact profile) (-> (Console Async) (Repository Async) (Repository Async) (file.System Async) Artifact (Command Any)) (do [! ///action.monad] [_ (//install.do! console fs local profile) _ (/snapshot.do! console remote fs artifact profile)] (is (Async (Try Any)) (console.write_line ..success console))))