Age | Commit message (Expand) | Author |
2021-04-26 | Redefine command using lambda**.•••* ccwl/ccwl.scm (command): Redefine using lambda**.
| Arun Isaac |
2021-04-26 | Implement the CCWL embedded domain specific language.•••* 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.
| Arun Isaac |
2021-04-26 | Add setter for source field of <output> type.•••* ccwl/ccwl.scm (<output>): Add functional setter set-output-source
for source field.
* .dir-locals.el (scheme-mode): Specify indentation for
set-output-source.
| Arun Isaac |
2021-04-26 | Add plist->alist.•••* ccwl/utils.scm (pairify, plist->alist): New public functions.
| Arun Isaac |
2021-04-25 | Upgrade to CWL version 1.2.•••Version 1.2 of the CWL specification is required to support
conditional steps.
* ccwl/ccwl.scm (%cwl-version): Set to "v1.2".
| Arun Isaac |
2021-04-17 | Add copyright section to test files.•••* tests/ccwl.scm, tests/yaml.scm: Add copyright section.
| Arun Isaac |
2021-04-17 | Expand name Arun I to Arun Isaac.•••* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Expand name Arun I to
Arun Isaac.
| Arun Isaac |
2021-04-16 | Add copyright and commentary sections to files.•••* ccwl/ccwl.scm, ccwl/utils.scm, ccwl/yaml.scm: Add copyright and
commentary sections.
| Arun Isaac |
2021-04-16 | Add .dir-locals.el for emacs.•••* .dir-locals.el: New file.
| Arun Isaac |
2021-04-16 | Implement lambda** n-ary keyword function.•••* ccwl/utils.scm: Export lambda** instead of group-arguments.
(group-arguments): Delete function.
(lambda**): New macro.
| Arun Isaac |
2021-04-16 | Make unary-keywords argument of group-keyword-arguments optional.•••* ccwl/utils.scm (group-keyword-arguments): Make unary-keywords
optional.
| Arun Isaac |
2021-04-16 | Add plist-ref utility.•••* ccwl/utils.scm: Import (srfi srfi-26).
(plist-ref): New function.
| Arun Isaac |
2021-04-12 | Support n-ary keyword arguments.•••* ccwl/utils.scm: New file.
| Arun Isaac |
2021-03-26 | Add README.•••* README.org: New file.
| Arun Isaac |
2021-03-26 | Add copy of GPLv3.•••* COPYING: New file.
| Arun Isaac |
2021-03-22 | List additional-inputs while generating CWL.•••* ccwl/ccwl.scm (command->cwl): List additional-inputs in inputs
array.
| Arun Isaac |
2021-03-22 | Add additional-inputs field to <command> type.•••* ccwl/ccwl.scm (<command>): Add additional-inputs field.
(command): Initialize additional-inputs field.
| Arun Isaac |
2021-03-22 | Remove input->tree abstraction.•••<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.
| Arun Isaac |
2021-03-22 | Delete input field of <command> object.•••* ccwl/ccwl.scm (<command>): Delete input field.
(command): Do not set inputs field.
| Arun Isaac |
2021-03-21 | Print steps enclosing <command> objects correctly.•••* ccwl/ccwl.scm (write-cwl): Invoke command->cwl if step encloses
<command> object.
| Arun Isaac |
2021-03-21 | Use both CWL arguments and inputs arrays.•••* 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.
| Arun Isaac |
2021-03-21 | Add alist filtering utility function.•••* ccwl/ccwl.scm (filter-alist): New function.
(input->tree): Use filter-alist.
| Arun Isaac |
2021-03-21 | Set the default output of a pipeline.•••* ccwl/ccwl.scm (pipeline): Set the stdout of the last command to be
the default output of the pipeline.
| Arun Isaac |
2021-03-21 | Pull out cwl-version as a separate variable.•••* ccwl/ccwl.scm (%cwl-version): New variable.
(workflow, command->cwl): Use %cwl-version.
| Arun Isaac |
2021-03-21 | Add prefix field to <input> object.•••* ccwl/ccwl.scm (<input>): Add prefix field.
(input): Initialize prefix field.
(input-with-prefix): New public function.
| Arun Isaac |
2021-03-21 | Remove appender for inputs field of <command>.•••* ccwl/ccwl.scm (append-command-inputs): Delete function.
| Arun Isaac |
2021-03-17 | Set default type of outputs to File.•••* ccwl/ccwl.scm (output): Set default type to File.
| Arun Isaac |
2021-03-17 | Set default type of inputs to File.•••* ccwl/ccwl.scm (input): Set default type to File.
| Arun Isaac |
2021-03-07 | Add write-cwl function to write generated CWL to a file.•••* ccwl/ccwl.scm: Import (srfi srfi-26) and (ccwl yaml).
(write-cwl): New public function.
| Arun Isaac |
2021-03-07 | Remove field binding from constructor of the <input> type.•••* ccwl/ccwl.scm (<input>): Remove field binding from constructor.
| Arun Isaac |
2021-03-07 | Escape YAML strings that contain the hyphen character.•••* ccwl/yaml.scm (display-atom): Escape string if it contains the
hyphen character.
| Arun Isaac |
2021-03-06 | Auto-connect steps by matching identifiers.•••* ccwl/ccwl.scm (auto-connect): New function.
(workflow): Auto-connect step inputs and outputs before generating
<step> record.
| Arun Isaac |
2021-03-06 | Implement pipeline support.•••* ccwl/ccwl.scm (%stdin, %stdout): New variables.
(pipeline): New function.
| Arun Isaac |
2021-03-06 | Rewrite workflow function to output a <step> record.•••All user exposed functions should output a <step> record so that they
are composable.
* ccwl/ccwl.scm (workflow): Rewrite workflow function to output a
<step> record.
| Arun Isaac |
2021-03-06 | Define input=? predicate.•••* ccwl/ccwl.scm (input=?): New function.
| Arun Isaac |
2021-03-06 | Add source field to <input> type.•••* ccwl/ccwl.scm (<input>): Add source field.
(input): Initialize source field to #f in constructor.
| Arun Isaac |
2021-03-06 | Remove clitool functions.•••* ccwl/ccwl.scm (clitool, clitool-step): Delete functions.
| Arun Isaac |
2021-03-06 | Add command->cwl rendering function.•••* ccwl/ccwl.scm (output->cwl, command->cwl): New functions.
| Arun Isaac |
2021-03-06 | Add modifier for run field of <step> object.•••* ccwl/ccwl.scm (modify-step-run): New function.
| Arun Isaac |
2021-03-06 | Add field appenders.•••* ccwl/ccwl.scm (field-appender, append-step-in, append-step-out,
append-command-inputs, append-command-outputs): New functions.
| Arun Isaac |
2021-03-06 | Introduce <command> type.•••* ccwl/ccwl.scm (<command>): New type.
(command): New function.
| Arun Isaac |
2021-03-06 | Delete command parsing functions.•••We will not auto-parse commands and try to associate a binding to
inputs. If we specify the command using the arguments field of the CWL
specification, we don't need to know the base command or the bindings.
* ccwl/ccwl.scm: Do not import (srfi srfi-71).
(parse-arguments, break-pair, parse-command): Delete functions.
| Arun Isaac |
2021-03-06 | Remove <intermediate> type.•••We will auto-connect inputs and outputs by matching their unique
identifiers.
* ccwl/ccwl.scm (<intermediate>): Delete type.
| Arun Isaac |
2021-03-06 | Re-order fields of <input> type.•••* ccwl/ccwl.scm (<input>): Re-order <input> fields to be consistent
with its constructor.
| Arun Isaac |
2021-03-06 | Combine <workflow-output> type into <output> type.•••The user should not have to distinguish between regular outputs and
workflow outputs.
* ccwl/ccwl.scm (<output>): Add source field.
(output): Add source field to constructor.
(<workflow-output>): Delete type.
(workflow-output): Delete function.
| Arun Isaac |
2021-03-06 | Migrate to SRFI-9 records.•••Functional setters from (srfi srfi-9 gnu) are very useful.
* ccwl/ccwl.scm (<input>, unspecified-default, <output>,
<intermediate>, <workflow-output>, <step>): Redefine using SRFI-9
records.
| Arun Isaac |
2021-02-27 | Rewrite parse-command using break-pair.•••* ccwl/ccwl.scm (parse-command): Rewrite using break-pair.
| 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 |
2021-02-27 | Add scm->yaml-string.•••* ccwl/yaml.scm (scm->yaml-string): New function.
| Arun Isaac |