summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Expand)Author
2023-11-18ccwl: Restrict #:binding parameter to YAML serializable trees.•••* ccwl/ccwl.scm (ensure-yaml-serializable): Accept parameter name for &formatted-message condition. (input): Explicitly pass parameter name #:other. Restrict #:binding parameter to YAML serializable trees. * doc/capture-output-file-with-parameter-reference.scm (extract-specific-file), doc/capture-output-file.scm (extract), doc/decompress-compile-run.scm (compile): Pass an YAML serializable tree, not an expression, as the #:binding parameter. Arun Isaac
2023-11-17doc: Add chapter and section identifiers.•••Identifiers are important so the generated HTML documentation can have permanent URIs to all chapters and sections. We are not too concerned with adding identifiers to subsections since we don't list them in the table of contents. * doc/ccwl.skb: Add chapter and section identifiers to all chapters and sections. Arun Isaac
2023-11-16ccwl: Support nested arrays.•••* ccwl/ccwl.scm (construct-type-syntax): Construct types recursively to support nested arrays. (key->output): Recursively convert stdout types to File types. * ccwl/cwl.scm (type->cwl): New function. (input->cwl-scm, output->cwl-scm): Use type->cwl. * tests/ccwl.scm (make-array-type): New function. (construct-type-syntax-wrapper): New syntax. ("construct-type-syntax on primitive types", "construct-type-syntax on array types", "construct-type-syntax on nested array types"): New tests. * tests/cwl.scm, doc/array-types.scm, doc/nested-array-types.scm: New files. * doc/ccwl.skb (Cookbook)[Array types]: New section. Arun Isaac
2023-11-14doc: Add scatter-gather snippet.•••I forgot to add this file in my previous commit. * doc/scatter-gather.scm: New file. Arun Isaac
2023-11-14ccwl: Implement scatter.•••* ccwl/ccwl.scm (<step>): Wrap constructor make-step. [scattered-inputs, scatter-method]: New fields. (collect-scatter-step): New function. (collect-steps): Implement scatter. (key->output): If step scatters, convert output to an array type. (workflow): Add syntax to initialize scattered-inputs and scatter-method fields of <step> object. * ccwl/cwl.scm (workflow->cwl-scm): Add ScatterFeatureRequirement if workflow contains scattering steps. Serialize scattered-inputs and scatter-method. * doc/ccwl.skb (Cookbook)[Scatter/gather]: New section. Arun Isaac
2023-10-17doc: Add staging-input-files.scm snippet source file.•••This file was required by the previous commit, but I forgot to commit it! * doc/staging-input-files.scm: New file. Arun Isaac
2023-10-17ccwl: Support staging input files.•••* ccwl/ccwl.scm (<input>)[stage?]: New field. * ccwl/ccwl.scm (input): Add #:stage argument. * ccwl/cwl.scm (command->cwl-scm): Serialize requirements for staged inputs. * doc/ccwl.skb (Cookbook)[Stage input files]: New section. * tests/ccwl.scm ("inputs with an invalid #:stage? parameter must raise a &ccwl-violation condition"): New test. Arun Isaac
2023-10-15ccwl: Make #:stderr and #:stdout first class parameters.•••#:stderr and #:stdout, especially #:stdout, are commonly required. They ought to be first class parameters and not tucked away into #:other. * ccwl/ccwl.scm (<command>)[stderr, stdout]: New fields. * ccwl/ccwl.scm (command): Accept #:stderr and #:stdout as first class parameters. * ccwl/cwl.scm (command->cwl-scm): Serialize stderr and stdout fields. * doc/capture-stdout.scm (print), doc/decompress-compile-run.scm (run), doc/checksum.scm (md5sum, sha1sum, sha256sum), doc/spell-check.scm (find-misspellings): Capture stdout in file. * doc/checksum.scm, doc/decompress-compile-run.scm: * doc/ccwl.skb (Tutorial)[Capturing the standard output stream of a command]: Document #:stdout first class parameter. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Capture stdout in explicitly named files. * tests/ccwl.scm ("commands with non-string #:stderr parameters must raise a &ccwl-violation condition", "commands with non-string #:stdout parameters must raise a &ccwl-violation condition"): New tests. Arun Isaac
2022-04-09doc: Add table of contents.•••* doc/ccwl.skb: Add table of contents. Arun Isaac
2021-11-05doc: Search source-path in scheme-source-form.•••* doc/skribilo.scm (scheme-source-form): Search source-path. Arun Isaac
2021-11-05doc: Add spell check workflow to tutorial.•••* doc/ccwl.skb (Tutorial)[Let's write a spell check workflow]: New section. * Makefile.am (doc/spell-check.out): New target. (EXTRA_DIST): Add doc/spell-check-text.txt and doc/dictionary. * doc/dictionary, doc/spell-check-text.txt, doc/spell-check-workflow-1.scm, doc/spell-check-workflow-2.scm, doc/spell-check.scm: New files. Arun Isaac
2021-11-05doc: Support extracting specific forms from a scheme file.•••* doc/skribilo.scm (scheme-source-form): New public function. Arun Isaac
2021-11-05doc: Document reuse of external CWL workflows.•••* doc/ccwl.skb (Cookbook): New chapter. * doc/external-cwl-workflow.scm, doc/echo.cwl: New files. * .gitignore: Add !doc/echo.cwl. Arun Isaac
2021-10-18doc: Say that inputs, not workflow inputs, come into pipe and tee.•••Workflow inputs are now global. It is misleading to say that they come into the first expression, namely pipe and tee, in these examples. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Say that inputs, not workflow inputs, come into pipe and tee. Arun Isaac
2021-08-17ccwl: Define output objects using a macro instead of a function.•••This allows us to do sophisticated syntax checking at an early stage, very close to the user interface. That way error messages from ccwl will make a lot more sense. * ccwl/ccwl.scm (output): Re-implement as macro. (command): Use the new macro interface. * doc/capture-output-file-with-parameter-reference.scm, doc/capture-output-file.scm, doc/capture-stdout.scm, doc/checksum.scm, doc/decompress-compile-run.scm: Use new quoting syntax for output types. Arun Isaac
2021-08-16Makefile: Generate sample output when building documentation.•••* Makefile.am (CLEANFILES): Add doc/*.out. (CLEAN_DIRECTORIES): Add doc/cwl-output. (GENERATE_CWL_OUTPUT): New variable. (doc/capture-output-file.out, doc/capture-output-file-with-parameter-reference.out, doc/capture-stdout.out, doc/checksum.out, doc/decompress-compile-run.out, doc/hello-world.out, doc/pass-stdin.out, doc/hello.tar.out): New targets. * doc/capture-output-file-with-parameter-reference.out, doc/capture-output-file.out, doc/capture-stdout.out, doc/checksum.out, doc/decompress-compile-run.out, doc/hello-world.out, doc/hello.tar.out, doc/pass-stdin.out: Delete files. * build-aux/generate-cwl-output.sh.in, doc/hello.c.gz, doc/hello.tar, doc/hello.txt: New files. * configure.ac: Configure build-aux/generate-cwl-output.sh. * doc/ccwl.skb (Tutorial)[Passing input into the standard input stream of a command]: Replace file "foo" with "hello.txt". * .gitignore: Add build-aux/generate-cwl-output.sh, doc/*.out and doc/cwl-output. Arun Isaac
2021-08-16ccwl: Define input objects using a macro instead of a function.•••This allows us to do sophisticated syntax checking at an early stage, very close to the user interface. That way error messages from ccwl will make a lot more sense. * ccwl/ccwl.scm (input): Re-implement as macro. (<input>): Add new functional setters set-input-position and set-input-prefix. (input-spec-id, run-arg-position, run-arg-prefix): New functions. (command, workflow): Use the new macro interface. * doc/capture-output-file-with-parameter-reference.scm, doc/capture-output-file.scm, doc/capture-stdout.scm, doc/checksum.scm, doc/decompress-compile-run.scm, doc/hello-world.scm, doc/pass-stdin.scm: Use new quoting syntax for input types. Arun Isaac
2021-07-05doc: Inline code snippets.•••* doc/ccwl.skb (Tutorial)[Important concepts]: Inline code snippets. Arun Isaac
2021-07-05doc: Add python named arguments example.•••* doc/ccwl.skb (Tutorial)[Important concepts]: Add python named arguments example. Arun Isaac
2021-07-04doc: Use PNG images instead of SVG.•••PNG images are supported by both the info and html engines. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Use PNG images instead of SVG. * Makefile.am (CLEANFILES): Replace doc/*.svg with doc/*.png. (%.svg): Delete rule. (%.png): New rule. * .gitignore: Replace doc/*.svg with doc/*.png. Arun Isaac
2021-07-04doc: Search for source-ref referenced files in source-path.•••* doc/skribilo.scm: Import (skribilo parameters). (source-ref): Search for files in source-path. Arun Isaac
2021-07-04doc: Remove redundant file open.•••* doc/skribilo.scm (source-ref): Remove redundant file open. Arun Isaac
2021-07-04Makefile: Build skribilo documentation in-place.•••* Makefile.am (SKRIBILO_BUILD_DIR): Delete variable. (CLEANFILES): Add doc/*.cwl, doc/*.dot, doc/*.svg, doc/ccwl.info, doc/skribilo.go. ($(SKRIBILO_BUILD_DIR)/%.cwl): Rename to %.cwl. (info-local, install-info-local): Depend on doc/ccwl.info instead of $(SKRIBILO_BUILD_DIR)/ccwl.info. (html-local, install-html-local, website/manual/dev/en): Depend on doc/ccwl.html instead of $(SKRIBILO_BUILD_DIR)/ccwl.html. ($(SKRIBILO_BUILD_DIR)/ccwl.info): Rename to doc/ccwl.info. ($(SKRIBILO_BUILD_DIR)/ccwl.html): Rename to doc/ccwl.html. (clean-local): Do not delete doc/skribilo.go and $(SKRIBILO_BUILD_DIR). * .gitignore: Add doc/*.cwl, doc/*.html, doc/*.info, doc/*.svg. Remove doc/skribilo. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Reference images in the doc directory instead of in the doc/skribilo directory. Arun Isaac
2021-07-03doc: Use emph instead of quotes for emphasis.•••* doc/ccwl.skb (Tutorial)[First example, Capturing the standard output stream of a command]: Use emph instead of double quotes for emphasis. Arun Isaac
2021-07-03doc: Move skribilo configuration into doc directory.•••* ccwl/skribilo.scm: Move to ... * doc/skribilo.scm: ... here. * doc/ccwl.skb: Import (doc skribilo) instead of (ccwl skribilo). * Makefile.am ($(SKRIBILO_BUILD_DIR)/ccwl.info, $(SKRIBILO_BUILD_DIR)/ccwl.html): Depend on doc/skribilo.go instead of ccwl/skribilo.go. * Makefile.am (clean-local): Delete doc/skribilo.go instead of ccwl/skribilo.go. Arun Isaac
2021-07-03doc: Squeeze double space.•••* doc/ccwl.skb (Tutorial)[Capturing output files]: Squeeze double space. Arun Isaac
2021-07-02doc: Add copyright headers.•••* doc/ccwl.skb: Add copyright headers. Arun Isaac
2021-06-29doc: Document passing input into stdin.•••* doc/ccwl.skb (Tutorial)[Passing input into the standard input stream of a command]: New section. * doc/pass-stdin.scm, doc/pass-stdin.out: New files. Arun Isaac
2021-06-28doc: Add workflow graphs.•••* Makefile.am (DOC_IMAGES): Add checksum.svg and decompres-compile-run.svg. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Add workflow graphs checksum.svg and decompres-compile-run.svg. Arun Isaac
2021-06-22doc: Specify command inputs in a separate argument.•••* doc/capture-output-file-with-parameter-reference.scm, doc/capture-output-file.scm, doc/capture-stdout.scm, doc/checksum.scm, doc/decompress-compile-run.scm, doc/hello-world.scm: Specify command inputs in a separate argument. * doc/ccwl.skb (Tutorial)[First example]: Update description of command definition accordingly. Arun Isaac
2021-06-22doc: Fix comma position.•••Lispy mode normalizes comma positions incorrectly for Skribilo mode. This needs to be fixed upstream or elsewhere. * doc/ccwl.skb (Tutorial)[Important concepts, Capturing the standard output stream of a command, Capturing output files, Workflow with multiple steps]: Fix comma position. Arun Isaac
2021-06-21doc: Fill paragraph.•••* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Fill paragraph. Arun Isaac
2021-06-19doc: Link to source for pipe and tee.•••* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Link to source for pipe and tee. Arun Isaac
2021-06-15doc: Move documentation from texinfo to skribilo.•••* doc/ccwl.texi: Delete file. * ccwl/skribilo.scm, doc/ccwl.skb, doc/capture-output-file-with-parameter-reference.out, doc/capture-output-file-with-parameter-reference.scm, doc/capture-output-file.out, doc/capture-output-file.scm, doc/capture-stdout.out, doc/capture-stdout.scm, doc/checksum.out, doc/checksum.scm, doc/decompress-compile-run.out, doc/decompress-compile-run.scm, doc/hello-world.out, doc/hello-world.scm, doc/hello.tar.out: New files. * configure.ac: Check for skribilo. * Makefile.am: Unregister doc/ccwl.texi. Add documentation build rules. * guix.scm (ccwl)[native-inputs]: Replace texinfo with skribilo. * .gitignore: Add doc/skribilo. Remove doc/version.texi, doc/*.html, doc/*.info. Arun Isaac
2021-05-25Add table of contents to manual.•••* doc/ccwl.texi: Add table of contents. Arun Isaac
2021-05-25Add title and copyright pages to manual.•••* doc/ccwl.texi: Add title and copyright pages. Arun Isaac
2021-05-25Hide Top node introduction in printed manual.•••* doc/ccwl.texi (Top): Move introduction into ifnottex block. Arun Isaac
2021-05-25Mention version in manual.•••* doc/ccwl.texi: Include version.texi. (Top): Mention version. Arun Isaac
2021-05-24Add "Workflow with multiple steps" to tutorial.•••* doc/ccwl.texi (Workflow with multiple steps): New node. (Tutorial): Link to "Workflow with multiple steps" node from menu. Arun Isaac
2021-05-24Add "Capturing output files" to tutorial.•••* doc/ccwl.texi (Capturing output files): New section. (Tutorial): Link to "Capturing output files" node from menu. Arun Isaac
2021-05-24Add "Capturing stdout" section to tutorial.•••* doc/ccwl.texi (Capturing the standard output stream of a command): New section. * doc/ccwl.texi (Tutorial): Link to "Capturing stdout" node from menu. Arun Isaac
2021-05-24Add "First example" section to tutorial.•••* doc/ccwl.texi (First example): New section. (Tutorial): Link to "First example" node from menu. Arun Isaac
2021-05-24Add tutorial.•••* doc/ccwl.texi (Tutorial): New chapter. (Top): Link to "Tutorial" node from menu. Arun Isaac
2021-05-23Add manual.•••* doc/ccwl.texi: New file. * Makefile.am (bin_SCRIPTS): Add doc/ccwl.texi. Arun Isaac