Module("stratego/xtc/posix-xsi/Proc",[Strategies([SDefNoArgs("xtc-new-file",Seq(AM(CallNoArgs(SVar("new-temp-file")),NoAnnoList(Tuple([Var("f"),Var("fd")]))),Seq(Where(BA(Call(SVar("assert"),[Build(Var("TempFiles"))]),NoAnnoList(Tuple([Var("f"),NoAnnoList(Tuple([]))])))),Seq(BA(CallNoArgs(SVar("close")),Var("fd")),Build(Var("f"))))))]),Strategies([RDefNoArgs("xtc-cat",Rule(Var("in-files"),Var("file"),Seq(AM(CallNoArgs(SVar("xtc-new-file-name")),Var("file")),Seq(AM(BA(CallNoArgs(SVar("xtc-open-fd")),Var("file")),Var("fdout")),Seq(BA(Call(SVar("map"),[Call(SVar("File-as-fd"),[BA(CallNoArgs(SVar("fdcopy")),NoAnnoList(Tuple([RootApp(Id),Var("fdout")])))])]),Var("in-files")),BA(CallNoArgs(SVar("xtc-close-fd")),Var("fdout")))))))])])
