Age | Commit message (Expand) | Author |
2024-10-01 | propnet: Present a polling interface to callers.•••(ravanan propnet) now presents a polling interface to the outside
world. Instead of computing the entire propagator network in one
function call, it needs to be polled repeatedly until it is done.
Hence, the polling logic (such as the polling interval) needs to be
outside (ravanan propnet).
* ravanan/propnet.scm (<scheduler>)[poll-interval]: Delete field.
(<propnet-state>): New record type.
(schedule-propnet, capture-propnet-output): New public functions.
(run-propnet): Rename to poll-propnet; return status and state values
instead of fulling computing the propnet.
* ravanan/command-line-tool.scm (%job-poll-interval): Move to (ravanan
workflow).
(command-line-tool-scheduler): Do not initialize poll-interval in
scheduler.
* ravanan/workflow.scm: Import (srfi srfi-71).
(run-workflow): Use the new polling interface to the propnet.
| Arun Isaac |
2024-09-23 | command-line-tool: Update path to staged input files.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[stage-files,
set-staged-path]: New functions.
After staging, update path to staged input files.
| Arun Isaac |
2024-09-23 | command-line-tool: Defer access of input values to runtime.•••* ravanan/command-line-tool.scm (build-command): Pass id argument to
collect-bindings. Defer access of input values to runtime.
[collect-bindings]: Accept id argument.
[input+type-tree+binding->command-line-binding]: Rename to
id+input+type-tree+binding->command-line-binding. Accept id argument
and return G-expressions for command-line-binding values.
(command-line-binding->args): Defer access of input values to runtime.
| Arun Isaac |
2024-09-23 | command-line-tool: Separate file copying from canonization.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[canonicalize-file-value]:
Separate out file copying into ...
[copy-file-value]: ... new function.
[capture-outputs-gexp, capture-secondary-file, path->value]: Call
copy-file-value after canonicalize-file-value.
| Arun Isaac |
2024-09-23 | utils: Move json-ref to (ravanan work utils).•••* ravanan/utils.scm: Move to ...
* ravanan/work/utils.scm (json-ref): ... here.
* ravanan/slurm-api.scm: Import (ravanan work utils) instead
of (ravanan utils).
| Arun Isaac |
2024-09-20 | command-line-tool: Add missing argument to canonicalize-file-value.•••* ravanan/command-line-tool.scm (build-command-line-tool-script): Add
missing workflow-output-directory argument to canonicalize-file-value.
| Arun Isaac |
2024-09-19 | work/utils: Add alist=?.•••* ravanan/work/utils.scm (alist=?): New public function.
| Arun Isaac |
2024-09-19 | propnet: Describe state machine implementation.•••* ravanan/propnet.scm (run-propnet): Add comment describing state
machine implementation.
| Arun Isaac |
2024-09-16 | bin: Explain why we support the SLURM_JWT=token format.•••* bin/ravanan (read-jwt): Explain why we support the SLURM_JWT=token
format.
| Arun Isaac |
2024-09-13 | bin: Support SLURM_JWT=token format in JWT files.•••* bin/ravanan: Import (srfi srfi-26) and (ravanan utils).
(read-jwt): Support SLURM_JWT=token format.
| Arun Isaac |
2024-09-13 | bin: Refactor JWT reading into separate function.•••* bin/ravanan (read-jwt): New function.
(main): Call read-jwt.
| Arun Isaac |
2024-09-13 | utils: Add string-trim-prefix.•••* ravanan/utils.scm (string-trim-prefix): New public function.
| Arun Isaac |
2024-09-13 | command-line-tool: Add nameroot and nameext fields.•••*
ravanan/command-line-tool.scm (resolve-inputs)[canonicalize-file-value],
(build-command-line-tool-script)[canonicalize-file-value]: Add
nameroot and nameext fields.
| Arun Isaac |
2024-09-13 | command-line-tool: Remove unused collect-input-files function.•••* ravanan/command-line-tool.scm (collect-input-files): Delete
function.
| Arun Isaac |
2024-09-13 | command-line-tool: Do not embed stdout-filename outside main body.•••stdout-output->value cannot access the inputs variable, and thus
will fail when stdout-filename is a parameter reference that needs to
be evaluated. To avoid this, pass it in as an argument.
*
ravanan/command-line-tool.scm (build-command-line-tool-script)[stdout-output->value]:
Accept stdout-filename as argument instead of G-expression embedding.
Pass stdout-filename as argument to stdout-output->value.
| Arun Isaac |
2024-09-13 | command-line-tool: Create vectors of secondary files for recursion.•••* ravanan/command-line-tool.scm (resolve-inputs)[resolve]: When
recursing, create a vector of secondary files.
| Arun Isaac |
2024-09-13 | job-state: Pass on slurm API endpoint and jwt recursively.•••* ravanan/job-state.scm (job-state-status): Pass on slurm API endpoint
and jwt recursively.
| Arun Isaac |
2024-09-13 | config: Remove.•••* 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).
| Arun Isaac |
2024-09-13 | command-line-tool: Support secondary files.•••*
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.
| Arun Isaac |
2024-09-13 | vectors: Add vector-filter-map.•••* ravanan/work/vectors.scm (vector-filter-map): New public function.
| Arun Isaac |
2024-09-13 | work/command-line-tool: Comment on match-type clauses.•••* ravanan/work/command-line-tool.scm (match-type): Comment on cond
ladder clauses.
| Arun Isaac |
2024-09-13 | work/command-line-tool: Comment on formal-parameter-type clauses.•••* ravanan/work/command-line-tool.scm (formal-parameter-type): Comment
on cond ladder clauses.
| Arun Isaac |
2024-09-13 | vectors: Rename module to (ravanan work vectors).•••* 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).
| Arun Isaac |
2024-09-13 | monads: Rename module to (ravanan work monads).•••* 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).
| Arun Isaac |
2024-09-13 | utils: Move assoc-ref* to (ravanan work utils).•••* 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).
| Arun Isaac |
2024-09-13 | command-line-tool: Do not re-intern already interned files.•••* ravanan/command-line-tool.scm (intern-file): Intern file only if it
is not already in the store.
| Arun Isaac |
2024-09-13 | command-line-tool: Improve grammar in docstring.•••* ravanan/command-line-tool.scm (copy-input-files-gexp): Make
G-expression singular.
| Arun Isaac |
2024-09-13 | command-line-tool: Coerce expressions in glob patterns.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Coerce expressions in glob patterns.
| Arun Isaac |
2024-09-13 | command-line-tool: Import (ravanan work ui) into G-expression.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Import (ravanan work ui) into G-expression.
| Arun Isaac |
2024-09-13 | ui: Rename module to (ravanan work ui).•••* 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).
| Arun Isaac |
2024-09-13 | reader: Normalize secondaryFiles in formals.•••* 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.
| Arun Isaac |
2024-09-12 | vectors: Add vector-append-map.•••* ravanan/vectors.scm (vector-append-map): New public function.
| Arun Isaac |
2024-09-12 | reader: Refactor type normalization into separate function.•••* ravanan/reader.scm (normalize-formals): Refactor type normalization
into ...
[normalize-type]: ... new function.
| Arun Isaac |
2024-09-12 | command-line-tool: Import guile-filesystem as an extension.•••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.
| Arun Isaac |
2024-09-12 | command-line-tool: Support File type staging entries.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Support File type staging entries.
| Arun Isaac |
2024-09-12 | command-line-tool: Support interpolation with parameter references.•••* 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.
| Arun Isaac |
2024-09-11 | command-line-tool: Import (rnrs io ports) into G-exp for put-string.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Import (rnrs io ports).
| Arun Isaac |
2024-09-11 | command-line-tool: Write, not read from, literal staged file.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Replace call-with-output-file with call-with-input-file.
| Arun Isaac |
2024-09-11 | command-line-tool: Use coerce-expression with staging files.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[files-to-stage]:
Use coerce-expression.
Adapt calling expression.
| Arun Isaac |
2024-09-11 | command-line-tool: Return maybe monad from maybe-bind.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Wrap result of files-to-stage in a maybe monad.
| Arun Isaac |
2024-09-11 | command-line-tool: Use vector-map->list.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[files-to-stage]:
Use vector-map->list.
| Arun Isaac |
2024-09-11 | ui: Add docstrings.•••* ravanan/ui.scm (warning, user-error): Add docstrings.
| Arun Isaac |
2024-09-11 | workflow: Ensure required inputs are specified.•••* ravanan/workflow.scm: Import (ravanan ui).
(run-workflow): Error out when required inputs are not specified.
| Arun Isaac |
2024-09-11 | workflow: Move optional input predicate to separate function.•••* ravanan/workflow.scm (optional-input?): New function.
(command-line-tool->propagator): Use optional-input?.
| Arun Isaac |
2024-09-11 | ui: Rename error to user-error.•••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.
| Arun Isaac |
2024-09-11 | ui: Move warning and error reporting functions to separate module.•••* ravanan/command-line-tool.scm: Import (ravanan ui).
(warning, error): Move to (ravanan ui).
* ravanan/ui.scm: New file.
| Arun Isaac |
2024-09-10 | job-state: Move job-state records into separate module.•••* 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.
| Arun Isaac |
2024-09-10 | slurm-api: Set name of job.•••* 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.
| Arun Isaac |
2024-09-10 | propnet: Trigger propagators with no inputs.•••* ravanan/propnet.scm (run-propnet): Pre-schedule all propagators.
* tests/propnet.scm: New file.
| Arun Isaac |
2024-09-10 | workflow: Support ScatterFeatureRequirement.•••* ravanan/workflow.scm (%supported-requirements): Add
ScatterFeatureRequirement.
| Arun Isaac |