aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-05Makefile: Add dist and distcheck targets.Arun Isaac
* Makefile (GIT, GPG, LZIP, distribute_files, dist_archive): New variables. (.PHONY): Add dist and distcheck. (dist, $(dist_archive), distcheck): New targets. (%.asc): New pattern rule. (clean): Clean $(dist_archive) and $(dist_archive).asc. * build-aux/distcheck.scm: New file.
2022-01-05Makefile: Abstract out test files.Arun Isaac
* Makefile (tests): New variable. (check): Depend on tests.
2022-01-05configure: Output version.Arun Isaac
* configure.scm: Import (rnrs io ports), (srfi srfi-26) and (ice-9 popen). (call-with-input-pipe): New function. (version): New variable. Output version to Makefile.include.
2022-01-05configure: Output project name.Arun Isaac
* Makefile (project): Delete variable. * configure: Pass the kolam, the project name, to configure.scm. * configure.scm (processed-args): Capture the project name argument. Output project name in Makefile.include.
2022-01-05Makefile: Differentiate project name and top level module directory.Arun Isaac
* Makefile (top_level_module_dir): New variable. (sources, scmdir, godir): Use top_level_module_dir instead of project.
2022-01-05dir-locals: Indent call-with-input-pipe correctly.Arun Isaac
* .dir-locals.el (scheme-mode): Indent call-with-input-pipe correctly.
2022-01-05guix.scm: Add lzip as a build dependency.Arun Isaac
* guix.scm: Import (gnu packages compression). (kolam)[native-inputs]: Add lzip.
2022-01-05Makefile: Abstract out project name.Arun Isaac
* Makefile (project): New variable. (sources, scmdir, godir): Use project.
2022-01-05Makefile: Specify phony targets on a single line.Arun Isaac
* Makefile (.PHONY): Specify phony targets---check, install and clean---on a single line.
2022-01-05NEWS: Add NEWS.Arun Isaac
* NEWS.org: New file.
2022-01-05Makefile: Use install to create installation directories.Arun Isaac
* Makefile (install): Use the install command to create installation directories.
2022-01-04README: Add CI badges.Arun Isaac
* README.org (ci-badge): New macro. Add CI badges.
2022-01-04Makefile: Clean up compiled objects.Arun Isaac
* Makefile (clean): Clean $(objects).
2022-01-04guix.scm: Switch to gnu-build-system.Arun Isaac
* guix.scm: Do not import (guix build-system guile). Import (guix build-system gnu). (kolam)[build-system]: Switch to gnu-build-system. [arguments]: Delete custom check phase. Add GUILE_AUTO_COMPILE=0 to #:make-flags.
2022-01-04Makefile: Install scm and go files.Arun Isaac
* Makefile (scmdir, godir): New variables. (install): New target.
2022-01-04configure: Generate Makefile.include.Arun Isaac
* configure.scm (option-proc, unrecognized-option-proc, unrecognized-argument-proc): New functions. (processed-args): New variable. Generate Makefile.include. * Makefile: Include Makefile.include. (clean): Clean Makefile.include.
2022-01-04Makefile: Build scm files.Arun Isaac
* Makefile (GUILD, sources, objects): New variables. (all, %.go): New targets.
2022-01-04configure: Provide wrapper shell script.Arun Isaac
Guix's gnu-build-system invokes configure explicitly with bash. If configure was a guile script, this would fail. * configure: Rename to configure.scm and replace with shell wrapper.
2022-01-04guix.scm: Add guix.scm.Arun Isaac
* guix.scm: New file.
2022-01-04kolam: Rename <date> scalar type to <datetime>.Arun Isaac
* kolam/graphql.scm (<date>): Rename to <datetime>.
2022-01-03website: Add CSS.Arun Isaac
* website/style.css: New file.
2022-01-03build-aux: Add website build script.Arun Isaac
* build-aux/build-home-page.el: New file.
2022-01-03configure: Add configure script.Arun Isaac
* configure: New file.
2022-01-03Makefile: Add clean target.Arun Isaac
* Makefile (clean): New target.
2022-01-03Makefile: Add website target.Arun Isaac
* Makefile (EMACS): New variable. (website, website/index.html): New targets.
2022-01-03README: Replace guile-email with kolam in License section.Arun Isaac
Perils of copy-paste... * README.org (License): Replace guile-email with kolam.
2022-01-03README: Add Download section.Arun Isaac
* README.org (Download): New section.
2022-01-03dir-locals: Allow tabs in Makefiles.Arun Isaac
* .dir-locals.el (makefile-gmake-mode): Set indent-tabs-mode to t.
2022-01-03Makefile: Add Makefile.Arun Isaac
* Makefile: New file.
2022-01-03tests: Add tests.Arun Isaac
* tests/parse.scm: New file.
2022-01-02kolam: Bump copyright year to 2022.Arun Isaac
This is a follow-up to commits 464b75248b42986cbf4150d11c9e080d0c99f78c and 0af412019526f679f7e5d690c0598d24d714956c. * kolam/graphql.scm, kolam/http.scm: Bump copyright year to 2022.
2022-01-02kolam: Allow null value for types.Arun Isaac
* kolam/graphql.scm (correct-type?): Allow null values for all types except non-nullable types.
2022-01-02kolam: Read JSON using UTF-8 encoding.Arun Isaac
* kolam/http.scm (graphql-http-response): Set JSON port encoding to UTF-8 before reading.
2022-01-02README: Request feedback and contributions.Arun Isaac
* README.org (Contributing): New section.
2022-01-02README: Mention portability.Arun Isaac
* README.org (Portability): New section.
2022-01-02README: Describe meaning of "kolam".Arun Isaac
* README.org (What does "kolam" mean?): New section.
2022-01-02Add license.Arun Isaac
* README.org (License): New section. * COPYING: New file.
2021-12-30kolam: Implement HTTP client.Arun Isaac
* kolam/http.scm: Import (srfi srfi-26), (web client), (web response) and (kolam utils). (variables->alist, graphql-http-response): New functions. (graphql-http-get, graphql-http-post): New public functions.
2021-12-30kolam: Implement GraphQL document serializer.Arun Isaac
* kolam/parse.scm: Import (srfi srfi-28) and (kolam utils). (indent-level, serialize-arguments, serialize-node, serialize-selection): New functions. (scm->graphql, scm->graphql-string): New public functions.
2021-12-30kolam: Implement pairify function.Arun Isaac
The pairify function will be used in later commits. * kolam/utils.scm: New file.
2021-12-30kolam: Set content-type of response to application/graphql+json.Arun Isaac
* kolam/http.scm (graphql-handler): Set content-type of response to application/graphql+json.
2021-12-30kolam: Allow leaf nodes to be list types.Arun Isaac
* kolam/graphql.scm (resolvable-type?): New function. (eval-graphql): Allow leaf nodes to be list types.
2021-12-30kolam: Support field alias.Arun Isaac
* kolam/graphql.scm (tree->root+alias+args+children): New function. (eval-graphql): Call tree->root+alias+args+children and use the returned alias in the response.
2021-12-30dir-locals: Add Emacs directory local variables.Arun Isaac
* .dir-locals.el: New file.
2021-12-30kolam: Implement HTTP server.Arun Isaac
* kolam/http.scm: New file.
2021-12-28Initial commitArun Isaac