## get-toplevel-module-dependencies-summary-exports.pkg
# Compiled by:
#
src/app/makelib/makelib.sublib# Get the toplevel exports from a module_dependencies_summary.
stipulate
package mds = module_dependencies_summary; # module_dependencies_summary is from
src/app/makelib/compilable/module-dependencies-summary.pkg package sys = symbol_set; # symbol_set is from
src/app/makelib/stuff/symbol-set.pkgherein
api Get_Toplevel_Module_Dependencies_Summary_Exports {
#
get_toplevel_module_dependencies_summary_exports
:
mds::Declaration -> sys::Set;
};
end;
stipulate
package mds = module_dependencies_summary; # module_dependencies_summary is from
src/app/makelib/compilable/module-dependencies-summary.pkg package sys = symbol_set; # symbol_set is from
src/app/makelib/stuff/symbol-set.pkgherein
package get_toplevel_module_dependencies_summary_exports
: Get_Toplevel_Module_Dependencies_Summary_Exports # Get_Toplevel_Module_Dependencies_Summary_Exports is from
src/app/makelib/compilable/get-toplevel-module-dependencies-summary-exports.pkg {
fun get_toplevel_module_dependencies_summary_exports d
=
e (d, sys::empty)
where
fun e (mds::BIND (s, _), a) => sys::add (a, s);
e (mds::LOCAL (l, b), a) => e (b, a);
e (mds::PAR l, a) => fold_forward e a l;
e (mds::SEQ l, a) => fold_forward e a l;
e (mds::OPEN _, a) => a; # Cannot happen.
e (mds::REF _, a) => a;
end;
end;
};
end;
## Copyright (C) 1999 Lucent Technologies, Bell Laboratories
## Author: Matthias Blume (blume@cs.princeton.edu)
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.