#ifndef __EVALUATORS_MODULES_H #define __EVALUATORS_MODULES_H #include #include #include #include #include <5D/Operations> #include <5D/Evaluators> #include <5D/FFIs> namespace Evaluators { DECLARE_FULL_OPERATION(ModuleLoader) Values::NodeT require_module(const char* filename, const std::string& xmoduleKey); Values::NodeT import_module(Values::NodeT options, Values::NodeT fileNameNode); void set_shared_dir(const std::string& name); std::string get_shared_dir(void); void set_shared_dir_by_executable(const char* argv0 /* should be full path */); Values::NodeT getModuleEntryAccessor(const char* filename, Values::NodeT exportKey) G_5D_GNUC_PURE; Values::NodeT getModule(const char* filename) G_5D_GNUC_PURE; /* first arg is a Box with a list of [key value] */ DECLARE_SIMPLE_OPERATION(ModuleBoxMaker) }; /* end namespace */ #endif /* ndef __EVALUATORS_MODULES_H */