Age | Commit message (Collapse) | Author |
|
* ccwl/skribilo.scm: Add "svg" to the image-format custom of the HTML
engine.
|
|
* ccwl/skribilo.scm (sexp-position, position->line-number,
sexp-file-lines): New functions.
(source-ref): Refer to entire s-exp, not just a single line.
|
|
* ccwl/skribilo.scm: Import (rnrs io ports), (ice-9 match), (ice-9
regex) and (srfi srfi-171).
(%source-uri-base): New variable.
(source-ref): New public function.
|
|
* 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.
|
|
* ccwl/ccwl.scm: Do not export step and pipeline.
|
|
* ccwl/ccwl.scm: Do not export input and output.
(<input>): Delete source field. Add position field.
(input): Accept position and prefix fields in constructor. Do not
initialize non-existent source field.
(<command>): Delete additional-inputs field. Add inputs field. Delete
set-command-outputs and set-command-stdin setters.
(command): Rewrite as macro that accepts new command definition
syntax.
(<cli-element>): Delete type.
(command->cwl): Generate CWL from new <command> type.
(command-input-keys): Simplify to support new <command> type.
|
|
* ccwl/ccwl.scm: Do not export input-with-prefix.
(<input>): Delete set-input-prefix.
(<step>): Delete set-step-run, set-step-id, set-step-out.
(input-with-prefix, field-appender, modify-step-run, append-step-in,
append-step-out, append-command-outputs): Delete functions.
|
|
Earlier, the input keys would only be passed to the first
expression. The second expression would only receive the output keys
from the first expression. Passing input keys through to all
expressions is a common use case, since expressions often need to
access global inputs. If the original behavior is desired, we can
always introduce a new construct, say `pipe-strict'.
* ccwl/ccwl.scm (workflow-steps): In pipe, pass through input keys to
all expressions.
|
|
* ccwl/ccwl.scm (key->output): New function.
(workflow-steps): Filter out global workflow inputs from
workflow-outputs.
|
|
* ccwl/utils.scm (filter-mapi): New public function.
|
|
* ccwl/utils.scm (syntax-lambda**): New public macro.
|
|
* ccwl/utils.scm (lambda**): Avoid using datum->syntax whenever
possible.
|
|
* ccwl/utils.scm (unsyntax-keywords): New function.
|
|
* ccwl/ccwl.scm (command-variable, command-syntax->object): Delete
functions.
(command-object): New function.
(workflow-steps): Use command-object instead of command-variable and
command-syntax->object.
|
|
* ccwl/ccwl.scm (workflow): When input has no properties, support only
specifying the symbol.
|
|
* ccwl/ccwl.scm (command-syntax->object): When command accepts only a
single input and there is only a single key available, support
implicit key pairing.
|
|
* ccwl/ccwl.scm (workflow-steps): When command does not specify step
identifier, assume the step identifier is the same as the command
symbol.
|
|
* ccwl/ccwl.scm (command-variable, command-syntax->object): New
functions.
(workflow-steps): Use command-variable and command-syntax->object.
|
|
* ccwl/ccwl.scm (%stdin, %stdout): Delete variables.
|
|
* ccwl/ccwl.scm: Import (srfi srfi-71).
(command-input-keys, workflow-steps): New function.
(workflow): Support general Directed Acyclic Graph (DAG) workflows.
|
|
* ccwl/ccwl.scm (<key>): New type.
(key, cwl-key-address): New functions.
|
|
* ccwl/ccwl.scm (make-workflow): Accept inputs explicitly.
|
|
* ccwl/ccwl.scm (input=?): Compare using eq? instead of string=?.
(command->cwl, write-cwl): Convert input-id to string before
appending.
|
|
* ccwl/ccwl.scm (command): Make stdin a unary key.
|
|
Doing this conversion effectively forbids kebab case symbols in YAML.
* ccwl/yaml.scm (kebab->camel): Delete function.
(display-atom): Do not convert symbols from kebab case to camel case.
* ccwl/ccwl.scm (make-workflow, output->cwl, command->cwl): Write
camel case explicitly.
|
|
* ccwl/utils.scm (mapn, append-mapn, foldn): New public functions.
|
|
* ccwl/ccwl.scm (pipeline): Delete function.
|
|
* ccwl/yaml.scm (display-atom): Escape asterisk characters.
* tests/yaml.scm ("strings with asterisk characters should be
escaped"): New test.
|
|
* ccwl/ccwl.scm (command): Redefine using lambda**.
|
|
* ccwl/ccwl.scm: Import (ccwl utils).
(command): Return <command> object.
(auto-connect): Delete function.
(invoke-command, make-workflow, workflow-steps): New functions.
(workflow): Replace function with macro.
|
|
* ccwl/ccwl.scm (<output>): Add functional setter set-output-source
for source field.
* .dir-locals.el (scheme-mode): Specify indentation for
set-output-source.
|
|
* ccwl/utils.scm (pairify, plist->alist): New public functions.
|
|
Version 1.2 of the CWL specification is required to support
conditional steps.
* ccwl/ccwl.scm (%cwl-version): Set to "v1.2".
|
|
* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Expand name Arun I to
Arun Isaac.
|
|
* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Add copyright and
commentary sections.
|
|
* ccwl/utils.scm: Export lambda** instead of group-arguments.
(group-arguments): Delete function.
(lambda**): New macro.
|
|
* ccwl/utils.scm (group-keyword-arguments): Make unary-keywords
optional.
|
|
* ccwl/utils.scm: Import (srfi srfi-26).
(plist-ref): New function.
|
|
* ccwl/utils.scm: New file.
|
|
* ccwl/ccwl.scm (command->cwl): List additional-inputs in inputs
array.
|
|
* ccwl/ccwl.scm (<command>): Add additional-inputs field.
(command): Initialize additional-inputs field.
|
|
<input> objects need to be expanded into CWL in context sensitive
ways. There is no simple generalization.
* ccwl/ccwl.scm (input->tree): Delete function.
(workflow): Expand input->tree.
|
|
* ccwl/ccwl.scm (<command>): Delete input field.
(command): Do not set inputs field.
|
|
* ccwl/ccwl.scm (write-cwl): Invoke command->cwl if step encloses
<command> object.
|
|
* ccwl/ccwl.scm (<cli-element>): New type.
(command->cwl): Put string and expression arguments into the arguments
array. Put <input> arguments into the inputs array.
|
|
* ccwl/ccwl.scm (filter-alist): New function.
(input->tree): Use filter-alist.
|
|
* ccwl/ccwl.scm (pipeline): Set the stdout of the last command to be
the default output of the pipeline.
|
|
* ccwl/ccwl.scm (%cwl-version): New variable.
(workflow, command->cwl): Use %cwl-version.
|
|
* ccwl/ccwl.scm (<input>): Add prefix field.
(input): Initialize prefix field.
(input-with-prefix): New public function.
|
|
* ccwl/ccwl.scm (append-command-inputs): Delete function.
|