kolam

kolam-with-guile-3.0.svg kolam-with-guile-3.0-latest.svg kolam-website.svg

kolam is a GraphQL implementation for Scheme. kolam features a parser to parse and serialize GraphQL documents, a type system to create GraphQL schemas, an execution engine to execute GraphQL queries, and a HTTP handler to implement a HTTP GraphQL endpoint.

Download

Download release tarballs.

Download public signing key.

Browse the development version of kolam hosted in a git repository.

Portability

Currently, kolam only supports GNU Guile. But, kolam wishes to support other Scheme implementations and patches improving its portability are welcome.

Contributing

kolam only implements a subset of the GraphQL spec, but aims to be more complete. Here is a rough roadmap. Your help is welcome! Please write to arunisaac@systemreboot.net.

  • [X] Parse GraphQL documents to scheme
  • [X] Serialize parsed documents back to GraphQL
  • Type system
    • [X] Object types
    • [X] Scalar types (built-in and custom)
    • [X] Enumeration types
    • [X] List types
    • [X] Non-null types
    • [ ] Interfaces
    • [ ] Union types
    • [ ] Input types
  • [ ] Validate GraphQL queries
  • Execute GraphQL queries
    • [X] Query operations
    • [ ] Mutation operations
    • [ ] Subscription operations
    • [X] Field aliases
    • [ ] Fragments
    • [ ] Parameterized queries
  • [ ] Schema introspection
  • [X] HTTP endpoint

License

kolam is free software released under the terms of the GNU Affero General Public License, either version 3 of the License, or (at your option) any later version.

What does "kolam" mean?

A kolam is a traditional Tamil decorative art form. It is an intricate geometrical drawing composed of straight lines, curves and loops, drawn around a grid pattern of dots.