Although ActivePapers is a general file format for computations, i.e. code, data, and their dependencies, there are use cases of particular importance that should be facilitated by establishing suitable conventions and support tools. One of these uses cases is the type of program/script designed to be run from a command line interface (terminal), reading input files and producing output files.
In the ActivePapers universe, the program itself is an ActivePaper, and the input and output files are also ActivePapers. The output files should link back to the input files and the program, of course, making them fullly reproducible.
A program packaged as an ActivePaper would contain:
- a list of datasets to which the output files would contain links
- a sequence of importlets and calclets that will be executed when the program is run
- a convention for the dataset in which the command-line parameters are stored
The program manager (a tool to be written as part of the ActivePapers distribution) would create the output file(s), add links to the datasets specified by the program (this would include any code to be executed), create the dataset with the command-line arguments, and then run the sequence of codelets as specified. All of the execution happens in the context of the output file(s), which in the end contain a full documentation of the computation that was done.