Opinions on GraphQL and other schema/query languages? Lassi Kortela 28 Jun 2019 14:35 UTC
(cc John since I don't know whether he's on the list) What are your thoughts on using GraphQL or similar for the Scheme API? I've been looking into it and trying out the Clojure library Lacinia (https://github.com/walmartlabs/lacinia). Unfortunately I've had a bad time with it. Lacinia is very difficult to understand, documentation is very spotty and even a hello world runs extremely slowly. There is no comprehensible error checking as far as I can tell, and the stack traces are a mile long. I didn't find any GraphQL libraries for Scheme, Racket or Common Lisp. John looked at the GraphQL spec and did a first cut of deriving a Scheme and S-expression mapping from it. The GraphQL competitor OData looks like much the same thing, but more complex and with a less elegant interface. It would seem to have every feature GraphQL has and then some, but I'm not sure we need any of the extra features. It would be easier to hand-roll our own REST API as originally planned, but in a few months we'll run into all the problems that GraphQL solves (versioning, data types and schemas, custom queries), and we'll have to invent custom ad hoc solutions to them instead of using GraphQL's standardized solutions.