zoonproject / zoon

The zoon R package
Other
61 stars 13 forks source link

Loaded modules #411

Open goldingn opened 6 years ago

goldingn commented 6 years ago

Change zoon to load all modules into memory at once when loading zoon. Modules are maintained in an R package (zoon.modules) which is automatically (with user prompt) installed from CRAN IFF a newer version is available. This means that LoadModule() isn't needed, ModuleHelp() is redundant since ? and help() can be used, ModuleArguments() is redundant as formals() can be used.

This version downloads the modules repo from the dark_modules branch, but that can be changed.

timcdlucas commented 6 years ago

Do all modules get loaded in global namespace or somewhere else?

goldingn commented 6 years ago

They're attached as a package (so in a namespace which is attached to the search path), which means autocomplete works, you can get helpfiles with ?, and can use zoon offline

goldingn commented 6 years ago

This is running and passing tests fine locally. Just need to resolve this Travis-only issue.

timcdlucas commented 6 years ago

OK, sounds good. Guess we should tryyy a bit not to have mega common module names then. Though going to be hard to enforce on contributed modules.

goldingn commented 6 years ago

Yeah, good point!

BTW we (mainly @smwindecker) are working on another big change which removes all the parsing code from workflow and generally simplifies the internal workings, removes the 'default arguments' from modules (and simplifies their structure), and enables things like having multiple lists in a workflow, and chains within lists. That will change how modules functions are defined, but keeps the API the same from the module user's perspective.

We'll merge all this stuff together in the dark_zoon branch then we can all discuss how to polish/change that before integrating into master.

timcdlucas commented 6 years ago

Ooh sounds exciting. I'll keep an eye out.