functor import Application Module Browser Connection Pickle Property define class MyModuleManager from Module.manager meth init() Module.manager,init() {self enter(url:'x-sinf2345://test/SuperModule' m(browse:proc{$ X} {Browser.browse fromClient(X)} end quit:proc{$} {Application.exit 0} end))} end end proc{Exec F} MM={New MyModuleManager init()} in try {MM apply(F)} catch E then {Browser.browse errorFromClient(E)} end end ExecPort local ExecStream in {NewPort ExecStream ExecPort} thread {ForAll ExecStream Exec} end end {Pickle.save {Connection.offerUnlimited ExecPort} {Property.get 'user.home'}#'/sinf2345_lab1_ticket'} end