summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-16ccwl: Define input objects using a macro instead of a function.Arun Isaac
This allows us to do sophisticated syntax checking at an early stage, very close to the user interface. That way error messages from ccwl will make a lot more sense. * ccwl/ccwl.scm (input): Re-implement as macro. (<input>): Add new functional setters set-input-position and set-input-prefix. (input-spec-id, run-arg-position, run-arg-prefix): New functions. (command, workflow): Use the new macro interface. * doc/capture-output-file-with-parameter-reference.scm, doc/capture-output-file.scm, doc/capture-stdout.scm, doc/checksum.scm, doc/decompress-compile-run.scm, doc/hello-world.scm, doc/pass-stdin.scm: Use new quoting syntax for input types.
2021-07-27ccwl: Make syntax-lambda** more like lambda**.Arun Isaac
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.
2021-07-27build-aux: Use #t as the expected value for test-assert tests.Arun Isaac
* build-aux/test-driver.scm.in: Import (ice-9 match). (my-gnu-runner): Use #t as the expected value for test-assert tests.
2021-07-20ccwl: Do not specify '() as the default value for n-ary arguments.Arun Isaac
Specifying '() as the default value for n-ary arguments is now equivalent to specifying '(()) as the default value. This is wrong. * ccwl/ccwl.scm (command): Do not explicitly specify the emtpy list as the default value for n-ary arguments.
2021-07-20ccwl: Set default value of lambda** n-ary arguments to '().Arun Isaac
* 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.
2021-07-20ccwl: Document syntax-lambda** support for default arguments.Arun Isaac
* ccwl/utils.scm (syntax-lambda**): Add example to docstring documenting support for default arguments. * tests/utils.scm ("syntax-lambda** with default values"): New test.
2021-07-20ccwl: Clarify difference between and lambda** and syntax-lambda**.Arun Isaac
* ccwl/utils.scm (syntax-lambda**): Clarify difference between and lambda** and syntax-lambda**.
2021-07-20ccwl: Support default values for arguments in lambda**.Arun Isaac
* ccwl/utils.scm (lambda**): Support default values for arguments, both unary and n-ary. * tests/utils.scm ("lambda** with default values"): New test.
2021-07-20tests: Add tests for ccwl/utils.scm.Arun Isaac
* tests/utils.scm: New file. * Makefile.am (SCM_TESTS): Register it.
2021-07-20ccwl: Add examples to docstrings.Arun Isaac
* ccwl/utils.scm (pairify, plist->alist, group-keyword-arguments, plist-ref, syntax-lambda**, filter-mapi, mapn, append-mapn, foldn): Add examples to docstrings.
2021-07-19build-aux: Put website building code into a function.Arun Isaac
This will be useful when we want build-home-page.el to build both a website and a gemini capsule. * build-aux/build-home-page.el (build-website): New function. * Makefile.am (website/index.html): Call build-website.
2021-07-19ccwl: Add missing syntax in unsyntax-keywords docstring example.Arun Isaac
* ccwl/utils.scm (unsyntax-keywords): Add missing syntax in docstring example.
2021-07-19tests: Fix order of arguments to test-equal.Arun Isaac
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.
2021-07-19tests: Fix indentation.Arun Isaac
* tests/ccwl.scm ("stdin input should not have inputBinding"): Fix indentation.
2021-07-19build-aux: Support disabling of color in tests.Arun Isaac
* build-aux/test-driver.scm.in: Pass argument color? to my-gnu-runner. (color, red, green, magenta, my-gnu-runner): Accept argument color?.
2021-07-19build-aux: Color test suite names.Arun Isaac
* build-aux/test-driver.scm.in (magenta): New function. (my-gnu-runner): Color test suite name in magenta.
2021-07-19build-aux: Abstract out colored text.Arun Isaac
* build-aux/test-driver.scm.in (color, red, green): New functions. (my-gnu-runner): Call red and green instead of stuffing escape codes into the format string.
2021-07-19build-aux: Improve test driver output.Arun Isaac
The test driver output is now much cleaner, and actually logs expected and actual values of failing tests. * build-aux/test-driver.scm.in (my-gnu-runner): Inherit from test-runner-null, and improve output.
2021-07-06Release version 0.1.0.v0.1.0Arun Isaac
* website/releases/ccwl-0.1.0.tar.lz, website/releases/ccwl-0.1.0.tar.lz.asc: New files.
2021-07-06NEWS: Update.Arun Isaac
* NEWS: New file.
2021-07-06.gitignore: Update rules regarding website directory.Arun Isaac
* .gitignore: Replace website with website/index.html and website/manual.
2021-07-06Makefile: Add release target.Arun Isaac
* Makefile.am (CURRENT_RELEASE): New variable. (release, $(CURRENT_RELEASE), %.asc): New rules.
2021-07-05ccwl: Remove extra blank lines.Arun Isaac
* ccwl/ccwl.scm: Remove extra blank lines.
2021-07-05website: Highlight code snippets.Arun Isaac
* website/style.css (code): Set background color to the same gray as pre code snippets. Pad 0.2 em on the left and the right.
2021-07-05doc: Inline code snippets.Arun Isaac
* doc/ccwl.skb (Tutorial)[Important concepts]: Inline code snippets.
2021-07-05doc: Add python named arguments example.Arun Isaac
* doc/ccwl.skb (Tutorial)[Important concepts]: Add python named arguments example.
2021-07-04Makefile: Replace top_builddir with builddir.Arun Isaac
Since we only have a top-level Makefile, top_builddir and builddir are the same. Use builddir in the interest of brevity. * Makefile.am (%.go, SCM_LOG_DRIVER, doc/ccwl.info, doc/ccwl.html): Replace top_builddire with builddir.
2021-07-04Makefile: Pass image path to skribilo.Arun Isaac
* Makefile.am (SKRIBILO_FLAGS): Add --image-path=$(builddir).
2021-07-04doc: Use PNG images instead of SVG.Arun Isaac
PNG images are supported by both the info and html engines. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Use PNG images instead of SVG. * Makefile.am (CLEANFILES): Replace doc/*.svg with doc/*.png. (%.svg): Delete rule. (%.png): New rule. * .gitignore: Replace doc/*.svg with doc/*.png.
2021-07-04Makefile: Pass source path to skribilo.Arun Isaac
* Makefile.am (SKRIBILO_FLAGS): New variable. (doc/ccwl.info, doc/ccwl.html): Pass $(SKRIBILO_FLAGS) to skribilo.
2021-07-04doc: Search for source-ref referenced files in source-path.Arun Isaac
* doc/skribilo.scm: Import (skribilo parameters). (source-ref): Search for files in source-path.
2021-07-04doc: Remove redundant file open.Arun Isaac
* doc/skribilo.scm (source-ref): Remove redundant file open.
2021-07-04Makefile: Distribute documentation.Arun Isaac
* Makefile.am (EXTRA_DIST): Add doc/skribilo.scm, doc/ccwl.skb, $(DOC_OTHER).
2021-07-04Makefile: Include .depends with automake.Arun Isaac
* bootstrap.sh: Generate .depends. * Makefile.am: Include .depends with automake, not with make. (.depends): Delete rule. (doc/ccwl.html, doc/ccwl.info): Use DOC_OTHER instead of DOC_OTHER_DEPENDENCIES. (CLEANFILES): Remove .depends. * build-aux/find-dependencies.scm: Output DOC_OTHER instead of DOC_OTHER_DEPENDENCIES. _DEPENDENCIES variables are special in automake.
2021-07-04Makefile: Clean only directories in clean-local.Arun Isaac
* Makefile.am (CLEANFILES): Add .depends, website/index.html. (CLEAN_DIRECTORIES): Add doc/ccwl.html, website/manual. (clean-local): Delete $(CLEAN_DIRECTORIES) only.
2021-07-04Makefile: Build skribilo documentation in-place.Arun Isaac
* Makefile.am (SKRIBILO_BUILD_DIR): Delete variable. (CLEANFILES): Add doc/*.cwl, doc/*.dot, doc/*.svg, doc/ccwl.info, doc/skribilo.go. ($(SKRIBILO_BUILD_DIR)/%.cwl): Rename to %.cwl. (info-local, install-info-local): Depend on doc/ccwl.info instead of $(SKRIBILO_BUILD_DIR)/ccwl.info. (html-local, install-html-local, website/manual/dev/en): Depend on doc/ccwl.html instead of $(SKRIBILO_BUILD_DIR)/ccwl.html. ($(SKRIBILO_BUILD_DIR)/ccwl.info): Rename to doc/ccwl.info. ($(SKRIBILO_BUILD_DIR)/ccwl.html): Rename to doc/ccwl.html. (clean-local): Do not delete doc/skribilo.go and $(SKRIBILO_BUILD_DIR). * .gitignore: Add doc/*.cwl, doc/*.html, doc/*.info, doc/*.svg. Remove doc/skribilo. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Reference images in the doc directory instead of in the doc/skribilo directory.
2021-07-04Makefile: List files in a single line.Arun Isaac
There are so few that it makes no sense to list them one on a line. * Makefile.am (SOURCES, SCM_TESTS): List files in a single line.
2021-07-04scripts: Do not compile ccwl files.Arun Isaac
* scripts/ccwl.in: Do not compile ccwl files.
2021-07-04Makefile: Do not create website directory.Arun Isaac
The website directory is checked into the git repository and need not be created. * Makefile.am (website/index.html): Do not create website directory.
2021-07-04Makefile: Add prefix variables for silencing commands.Arun Isaac
* Makefile.am (CCWL_GEN*, CWLTOOL_GEN*, DOT_GEN*, EMACS_GEN*, GUILD_GEN*, SKRIBILO_GEN*): New variables. (%.go): Prefix with GUILD_GEN instead of AM_V_GEN. ($(SKRIBILO_BUILD_DIR)/%.cwl): Prefix with CCWL_GEN instead of AM_V_GEN. (%.dot): Prefix with CWLTOOL_GEN instead of AM_V_GEN. (%.svg): Prefix with DOT_GEN. ($(SKRIBILO_BUILD_DIR)/ccwl.info, $(SKRIBILO_BUILD_DIR)/ccwl.html): Prefix with SKRIBILO_GEN instead of AM_V_GEN. (website/index.html): Prefix with EMACS_GEN.
2021-07-03doc: Use emph instead of quotes for emphasis.Arun Isaac
* doc/ccwl.skb (Tutorial)[First example, Capturing the standard output stream of a command]: Use emph instead of double quotes for emphasis.
2021-07-03doc: Move skribilo configuration into doc directory.Arun Isaac
* ccwl/skribilo.scm: Move to ... * doc/skribilo.scm: ... here. * doc/ccwl.skb: Import (doc skribilo) instead of (ccwl skribilo). * Makefile.am ($(SKRIBILO_BUILD_DIR)/ccwl.info, $(SKRIBILO_BUILD_DIR)/ccwl.html): Depend on doc/skribilo.go instead of ccwl/skribilo.go. * Makefile.am (clean-local): Delete doc/skribilo.go instead of ccwl/skribilo.go.
2021-07-03Makefile: Build skribilo configuration before documentation.Arun Isaac
* Makefile.am ($(SKRIBILO_BUILD_DIR)/ccwl.info, $(SKRIBILO_BUILD_DIR)/ccwl.html): Depend on ccwl/skribilo.go instead of ccwl/skribilo.scm. * Makefile.am (clean-local): Delete ccwl/skribilo.go.
2021-07-03guix.scm: Depend on cwltool and graphviz.Arun Isaac
* guix.scm: Import (gnu packages bioinformatics) and (gnu packages graphviz). (ccwl)[native-inputs]: Add cwltool and graphviz.
2021-07-03guix.scm: Import (gnu packages skribilo).Arun Isaac
This is a follow-up to commit bf485dd43386305177a2ba3ea1a5ee7e164984c6 where this import was missed out. * guix.scm: Import (gnu packages skribilo).
2021-07-03doc: Squeeze double space.Arun Isaac
* doc/ccwl.skb (Tutorial)[Capturing output files]: Squeeze double space.
2021-07-03Makefile: Comment on -local targets.Arun Isaac
* Makefile.am: Comment on use of install-data-local, install-info-local, install-html-local and uninstall-local targets.
2021-07-02.dir-locals.el: Indent syntax-lambda** correctly.Arun Isaac
* .dir-locals.el (scheme-mode): Indent syntax-lambda**.
2021-07-02.dir.locals.el: Remove unused indentation specifiers.Arun Isaac
* .dir-locals.el (scheme-mode): Remove indentation specification for set-input-source, set-output-source and set-step-in.
2021-07-02doc: Add copyright headers.Arun Isaac
* doc/ccwl.skb: Add copyright headers.