aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-13command-line-tool: Create vectors of secondary files for recursion.Arun Isaac
* ravanan/command-line-tool.scm (resolve-inputs)[resolve]: When recursing, create a vector of secondary files.
2024-09-13job-state: Pass on slurm API endpoint and jwt recursively.Arun Isaac
* ravanan/job-state.scm (job-state-status): Pass on slurm API endpoint and jwt recursively.
2024-09-13config: Remove.Arun Isaac
* Makefile (config_file): Delete variable. (sources): Remove $(config_file). (all, %.go): Do not depend on $(config_file). (clean): Do not delete $(config_file). * ravanan/config.scm, ravanan/config.scm.in: Delete files. * ravanan/command-line-tool.scm: Do not import (ravanan config).
2024-09-13command-line-tool: Support secondary files.Arun Isaac
* ravanan/command-line-tool.scm (resolve-inputs)[canonicalize-file-input, match-secondary-file-pattern, check-secondary-files]: New functions. [resolve]: Accept maybe-secondary-files argument. Check that secondary files are provided with File type inputs. (copy-input-files-gexp)[copy-input-files]: New function. Copy secondary files to inputs directory. (build-command-line-tool-script)[capture-outputs-gexp]: Pass maybe-secondary-files argument to other-output->value. [capture-secondary-file]: New function. [path->value]: Call capture-secondary-file. Accept maybe-secondary-files argument. [stdout-output->value]: Pass maybe-secondary-files argument to path->value. [other-output->value]: Accept maybe-secondary-files argument and pass it on to path->value. Add TODO note about updating paths of staged files in inputs objects.
2024-09-13vectors: Add vector-filter-map.Arun Isaac
* ravanan/work/vectors.scm (vector-filter-map): New public function.
2024-09-13work/command-line-tool: Comment on match-type clauses.Arun Isaac
* ravanan/work/command-line-tool.scm (match-type): Comment on cond ladder clauses.
2024-09-13work/command-line-tool: Comment on formal-parameter-type clauses.Arun Isaac
* ravanan/work/command-line-tool.scm (formal-parameter-type): Comment on cond ladder clauses.
2024-09-13vectors: Rename module to (ravanan work vectors).Arun Isaac
* ravanan/vectors.scm: Move to ravanan/work/vectors.scm. * ravanan/command-line-tool.scm, ravanan/job-state.scm, ravanan/reader.scm, ravanan/workflow.scm: Import (ravanan work vectors) instead of (ravanan vectors).
2024-09-13monads: Rename module to (ravanan work monads).Arun Isaac
* ravanan/monads.scm: Move to ravanan/work/monads.scm. * ravanan/command-line-tool.scm, ravanan/propnet.scm, ravanan/reader.scm, ravanan/workflow.scm: Import (ravanan work vectors) instead of (ravanan vectors).
2024-09-13utils: Move assoc-ref* to (ravanan work utils).Arun Isaac
* ravanan/utils.scm: Do not import (rnrs base). Move assoc-ref* to ... * ravanan/work/utils.scm: ... here. Import assertion-violation from (rnrs base). * ravanan/command-line-tool.scm, ravanan/workflow.scm: Do not import (ravanan utils).
2024-09-13command-line-tool: Do not re-intern already interned files.Arun Isaac
* ravanan/command-line-tool.scm (intern-file): Intern file only if it is not already in the store.
2024-09-13command-line-tool: Improve grammar in docstring.Arun Isaac
* ravanan/command-line-tool.scm (copy-input-files-gexp): Make G-expression singular.
2024-09-13command-line-tool: Coerce expressions in glob patterns.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Coerce expressions in glob patterns.
2024-09-13command-line-tool: Import (ravanan work ui) into G-expression.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Import (ravanan work ui) into G-expression.
2024-09-13ui: Rename module to (ravanan work ui).Arun Isaac
* ravanan/ui.scm: Move to ravanan/work/ui.scm. * ravanan/command-line-tool.scm, ravanan/workflow.scm: Import (ravanan work ui) instead of (ravanan ui).
2024-09-13reader: Normalize secondaryFiles in formals.Arun Isaac
* ravanan/reader.scm (normalize-workflow)[normalize-secondary-files]: New function. [normalize-formal-input]: Use normalize-secondary-files. [normalize-formal-output]: New function. Call normalie-formal-output from main body.
2024-09-12vectors: Add vector-append-map.Arun Isaac
* ravanan/vectors.scm (vector-append-map): New public function.
2024-09-12reader: Refactor type normalization into separate function.Arun Isaac
* ravanan/reader.scm (normalize-formals): Refactor type normalization into ... [normalize-type]: ... new function.
2024-09-12command-line-tool: Import guile-filesystem as an extension.Arun Isaac
This resolves the warning about importing (ice-9 filesystem) from the host. * ravanan/command-line-tool.scm: Import guile-filesystem from (gnu packages guile-xyz). (build-command-line-tool-script): Use with-extensions, not with-imported-modules, to import guile-filesystem.
2024-09-12command-line-tool: Support File type staging entries.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Support File type staging entries.
2024-09-12command-line-tool: Support interpolation with parameter references.Arun Isaac
* ravanan/command-line-tool.scm (javascript-expression?): Return #t even for parameter references mixed with literals. (interpolate-parameter-references): New function. (strip-javascript-expression): Delete function. (coerce-expression): Use interpolate-parameter-references instead of strip-javascript-expression.
2024-09-11command-line-tool: Import (rnrs io ports) into G-exp for put-string.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Import (rnrs io ports).
2024-09-11command-line-tool: Write, not read from, literal staged file.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Replace call-with-output-file with call-with-input-file.
2024-09-11command-line-tool: Use coerce-expression with staging files.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script)[files-to-stage]: Use coerce-expression. Adapt calling expression.
2024-09-11command-line-tool: Return maybe monad from maybe-bind.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Wrap result of files-to-stage in a maybe monad.
2024-09-11command-line-tool: Use vector-map->list.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script)[files-to-stage]: Use vector-map->list.
2024-09-11ui: Add docstrings.Arun Isaac
* ravanan/ui.scm (warning, user-error): Add docstrings.
2024-09-11workflow: Ensure required inputs are specified.Arun Isaac
* ravanan/workflow.scm: Import (ravanan ui). (run-workflow): Error out when required inputs are not specified.
2024-09-11workflow: Move optional input predicate to separate function.Arun Isaac
* ravanan/workflow.scm (optional-input?): New function. (command-line-tool->propagator): Use optional-input?.
2024-09-11ui: Rename error to user-error.Arun Isaac
error collides with a core binding. * ravanan/ui.scm (error): Rename to user-error. * ravanan/command-line-tool.scm: Import error without renaming to raise-error. Replace calls to error with user-error, and calls to raise-error with error.
2024-09-11ui: Move warning and error reporting functions to separate module.Arun Isaac
* ravanan/command-line-tool.scm: Import (ravanan ui). (warning, error): Move to (ravanan ui). * ravanan/ui.scm: New file.
2024-09-10job-state: Move job-state records into separate module.Arun Isaac
* ravanan/job-state.scm: New file. * ravanan/command-line-tool.scm: Import (ravanan job-state). (<single-machine-job-state>, <slurm-job-state>): Move to (ravanan job-state). (command-line-tool-scheduler): Use job-state-status and job-state-script.
2024-09-10slurm-api: Set name of job.Arun Isaac
* ravanan/slurm-api.scm (submit-job): Accept name argument and set it as the job name. * ravanan/command-line-tool.scm (run-command-line-tool): Pass name to submit-job.
2024-09-10propnet: Trigger propagators with no inputs.Arun Isaac
* ravanan/propnet.scm (run-propnet): Pre-schedule all propagators. * tests/propnet.scm: New file.
2024-09-10workflow: Support ScatterFeatureRequirement.Arun Isaac
* ravanan/workflow.scm (%supported-requirements): Add ScatterFeatureRequirement.
2024-09-10dir-locals: Do not indent call-with-temporary-directory specially.Arun Isaac
* .dir-locals.el (scheme-mode): Do not set scheme-indent-function on call-with-temporary-directory.
2024-09-10dir-locals: Set fill-column to 80 only in scheme-mode.Arun Isaac
For other major modes, especially in magit commit message buffers, we want the default fill-column of 70. * .dir-locals.el (nil)[fill-column]: Move to scheme-mode.
2024-09-10tests: Add tests.Arun Isaac
* tests/work/command-line-tool.scm: New file.
2024-09-10gitignore: Add log files.Arun Isaac
log files are generated by tests. * .gitignore: Add *.log.
2024-09-10Makefile: Add check target.Arun Isaac
* Makefile (GUILE, tests): New variable. (check): New target. * guix.scm (ravanan)[arguments]: Enable tests.
2024-09-10bin: Import (guix profiles) to load manifest files.Arun Isaac
* bin/ravanan: Import (guix profiles).
2024-09-06command-line-tool: Implement scatter steps.Arun Isaac
* ravanan/command-line-tool.scm (command-line-tool-scheduler)[schedule, poll, capture-output]: Implement scatter steps.
2024-09-06workflow: Extract scatter and scatterMethod.Arun Isaac
* ravanan/command-line-tool.scm (<scheduler-proc>)[scatter, scatter-method]: New fields. * ravanan/workflow.scm (command-line-tool->propagator, workflow-class->propagators): Initialize scatter and scatter-method in scheduler-proc object.
2024-09-06vectors: Re-export vector-every.Arun Isaac
* ravanan/vectors.scm: Import vector-every from (srfi srfi-43) and re-export it.
2024-09-06command-line-tool: Refactor scheduler into separate named functions.Arun Isaac
* ravanan/command-line-tool.scm (command-line-tool-scheduler): Refactor scheduler into separate named functions.
2024-09-06command-line-tool: Make job state records opaque.Arun Isaac
The job state records must not be inspected from other modules. They may only be passed around as opaque blobs. * ravanan/command-line-tool.scm: Do not export single-machine-job-state, single-machine-job-state?, single-machine-job-state-script, slurm-job-state, slurm-job-state?, slurm-job-state-script and slurm-job-state-job-id.
2024-09-06command-line-tool: Introduce <scheduler-proc> record type.Arun Isaac
* ravanan/command-line-tool.scm (<scheduler-proc>): New record type. (command-line-tool-scheduler): Use <scheduler-proc> records. * ravanan/workflow.scm (command-line-tool->propagator): Use <scheduler-proc> records.
2024-09-06propnet: Support optional inputs.Arun Isaac
* ravanan/propnet.scm (<propagator>)[optional-inputs]: New field. * ravanan/propnet.scm (activate-propagator): Activate propagator even when optional inputs are absent. * ravanan/workflow.scm: Import (ravanan work utils). (command-line-tool->propagator, workflow-class->propagators): Specify optional inputs of propagators. (workflow->command-line-tool-steps): Inherit defaults down to the steps from the containing workflow. [inherit-defaults]: New function.
2024-09-05work: Handle matching null objects to array types.Arun Isaac
* ravanan/work/command-line-tool.scm (match-type): Handle matching null objects to array types.
2024-09-05work: Match null type using pattern matching.Arun Isaac
* ravanan/work/command-line-tool.scm (vector-empty?): Delete function. (match-type): Match null type using pattern matching.