Age | Commit message (Expand) | Author |
2021-10-11 | ccwl: Factorize out CWL generation code to separate file.•••This factorization is required to support other compilation targets
such as graphviz, bash, scheme, etc.
* ccwl/cwl.scm: New file.
* Makefile.am (SOURCES): Register it.
* ccwl/ccwl.scm (ccwl): Export command?, command-inputs,
command-outputs, command-args, command-stdin, command-other,
workflow?, workflow-steps, workflow-inputs, workflow-outputs,
workflow-other, input?, input-id, input-type, input-label,
input-default, input-position, input-prefix, input-other, output?,
output-id, output-type, output-binding, output-source, output-other,
step?, step-id, step-run, step-in, step-out, unspecified-default?.
(<workflow>): New type.
(filter-alist): Move to cwl.scm.
(make-workflow): Refactor into workflow->cwl-scm in cwl.scm.
(output->cwl): Move to cwl.scm as output->cwl-scm.
(command->cwl): Move to cwl.scm as command->cwl-scm.
(workflow-steps): Rename to collect-steps. Clarify docstring.
(workflow): Use collect-steps instead of workflow-steps. Explicitly
pass empty list as other argument of make-workflow. Add TODO note to
implement it properly.
* scripts/ccwl.in: Import (ccwl cwl) instead of (ccwl yaml). Use
workflow->cwl instead of scm->yaml.
* tests/ccwl.scm ("stdin input should not have inputBinding"): Use
command->cwl-scm from (ccwl cwl) instead of command->cwl from (ccwl
ccwl).
| Arun Isaac |
2021-10-04 | ccwl: Support #:allow-other-keys in lambda** and syntax-lambda**.•••* ccwl/utils.scm (lambda**): Support #:allow-other-keys. Update
docstring.
(syntax-lambda**): Update docstring.
* tests/utils.scm ("Allow other keys in lambda**", "Allow other keys
in syntax-lambda**"): New tests.
| Arun Isaac |
2021-10-04 | ccwl: Error out on invalid keywords to lambda**.•••* ccwl/utils.scm (lambda**): Error out on invalid keywords (that is,
keywords other than #:key, #:key* and #:allow-other-keys).
* tests/utils.scm ("lambda** should error out on unrecognized keywords
in arguments"): New test.
| Arun Isaac |
2021-10-04 | tests: Remove stray syntax-lambda** form.•••* tests/utils.scm: Remove stray syntax-lambda** form.
| Arun Isaac |
2021-07-27 | ccwl: Make syntax-lambda** more like lambda**.•••I have tripped up several times on the differences between lambda**
and syntax-lambda**. No longer! Making syntax-lambda** as close as
possible to lambda** makes the code much more readable and align
better with common sense.
* ccwl/utils.scm (syntax-lambda**): Do not ignore the first
identifier. Accept multiple values as arguments, not a single syntax
object.
* ccwl/ccwl.scm (command): Update use of syntax-lambda**.
* tests/utils.scm ("syntax-lambda**", "syntax-lambda** with default
values"): Update tests.
| Arun Isaac |
2021-07-20 | ccwl: Set default value of lambda** n-ary arguments to '().•••* ccwl/utils.scm (lambda**): Set default value of lambda** n-ary
arguments to the empty list. Document this in the docstring.
* tests/utils.scm ("default value of lambda** unary argument should be
#f", "default value of lambda** n-ary argument should be the empty
list"): New tests.
| Arun Isaac |
2021-07-20 | ccwl: Document syntax-lambda** support for default arguments.•••* ccwl/utils.scm (syntax-lambda**): Add example to docstring
documenting support for default arguments.
* tests/utils.scm ("syntax-lambda** with default values"): New test.
| Arun Isaac |
2021-07-20 | ccwl: Support default values for arguments in lambda**.•••* ccwl/utils.scm (lambda**): Support default values for arguments,
both unary and n-ary.
* tests/utils.scm ("lambda** with default values"): New test.
| Arun Isaac |
2021-07-20 | tests: Add tests for ccwl/utils.scm.•••* tests/utils.scm: New file.
* Makefile.am (SCM_TESTS): Register it.
| Arun Isaac |
2021-07-19 | tests: Fix order of arguments to test-equal.•••The expected value should be the first argument to test-equal. Getting
this order wrong messes up the test logs.
* tests/yaml.scm ("dictionary entries with empty arrays and
dictionaries for values must render on the same line"): Fix order of
arguments to test-equal.
| Arun Isaac |
2021-07-19 | tests: Fix indentation.•••* tests/ccwl.scm ("stdin input should not have inputBinding"): Fix
indentation.
| Arun Isaac |
2021-07-02 | tests: Ensure stdin input has no inputBinding.•••* tests/ccwl.scm: Import (ccwl ccwl)
("stdin input should not have inputBinding"): New test.
| Arun Isaac |
2021-07-02 | tests: Remove unnecessary import.•••* tests/ccwl.scm: Do not import (srfi srfi-71).
| Arun Isaac |
2021-04-26 | Escape asterisk characters in scm->yaml.•••* ccwl/yaml.scm (display-atom): Escape asterisk characters.
* tests/yaml.scm ("strings with asterisk characters should be
escaped"): New test.
| Arun Isaac |
2021-04-26 | Test if scm->yaml escapes hyphen characters.•••* tests/yaml.scm ("strings with hyphen characters should be escaped"):
New test.
| Arun Isaac |
2021-04-26 | Remove deprecated break-pair tests.•••* tests/ccwl.scm (break-pair): Delete function.
("break-pair", "break-pair: check last elemet handling"): Delete
tests.
| Arun Isaac |
2021-04-17 | Add copyright section to test files.•••* tests/ccwl.scm, tests/yaml.scm: Add copyright section.
| Arun Isaac |
2021-02-27 | Add break-pair utility.•••* ccwl/ccwl.scm (break-pair): New function.
* tests/ccwl.scm: New file.
* tests/ccwl.scm ("break-pair", "break-pair: check last elemet
handling"): New test cases.
| Arun Isaac |
2021-02-27 | Display dictionary entries with empty values on the same line.•••* ccwl/yaml.scm (display-dictionary-entry): If value is an empty array
or dictionary, display it on the same line.
(scm->yaml): Go to next line after printing empty array.
* tests/yaml.scm: New file.
* tests/yaml.scm ("dictionary entries with empty arrays and
dictionaries for values must render on the same line"): New test case.
| Arun Isaac |