The Data Transformation Language and the Data Query Language are both deliberately small, and both stop at the same boundary: they describe the shape of the work and leave the vocabulary to the host that embeds them. That is what makes them embeddable, and it is also what makes them hard to write against, because an editor cannot infer what it was never told. Langserver is the other half. It carries the protocol so a language module can ship an editor experience without also shipping a JSON-RPC implementation.
A language-agnostic adapter for building language servers in Go. It handles JSON-RPC framing, sessions and LSP position mapping, and knows nothing about any particular language. The core packages are standard-library only, enforced by a test.
Go★ 0↗Query languageA declarative query language for Go. You describe what you want as a document; DQL plans it, pushes down what the database can do and finishes the rest in memory. Partition scoping is declared rather than guessed at, because getting it wrong is a data leak.
Go★ 0↗Expression languageA small embeddable expression and function language for Go, readable by analysts and safe to evaluate on untrusted input. Immutable bindings, pattern matching and a pipe operator, with the host supplying the vocabulary of whatever domain it is embedded in.
Go★ 0↗