(* * This file illustrates the basic use of of import/export. * * A module may export symbols to other modules, using an "export" declaration. * Exported symbols are available to any other module via an "import" * declaration. * * In the examples below, modules N and O contain exports. Module M imports * from both N and O. * * Note that exporting modules need not precede importing modules. In the * examples below, the declaration of module M precedes both of the modules * from which it imports. *) module M; import N.T; import O.U; op Op1(T); op Op2(U); end M; module N; export T; object T = integer; end N; module O; export U; obj U = integer; end O;