I wrote a short piece on adaptive programming systems and how they might support human–AI collaboration. While it’s not strictly about KGs, it is related on themes of representation, adaptability, and interaction. https://gfrison.com/2025/adaptive-programming-systems Curious how this might connect (or not) with ideas in the KG space.
I'm intrigued. IIRC, adaptive programming once fell under or revolved around GOFAI (Good Old-Fashioned AI), adjacent to KGs under the symbolic AI umbrella.
what do you find intriguing? What I find strange is the lack of programming capabilities (recursion, modularity, polymorphism) in KG query languages. I think an adaptive approach should more inclusive on data programming
Great article! You could extrapolate from your points to a general theory of languages and super/sub-structures with regard to evolution of AI and user needs. I don’t look to query languages for the kind of flexibility you mention. I think that’s not a goal for QL designers. Sad, but true. Query scripts are modular to en extreme; they are brittle and require constant maintenance because logical data models are separate from query abilities and physical data models. SQL is entirely schizoid (DML vs DDL).
Lisp has no standard query language per se, yet it is often the choice for building query languages and applications that support user queries. The flexibility of the language itself allows to separate data model and logic just enough and no more. Lisp languages have always been attractive to developers who appreciate DSLs and other forms of extensibility in applications. Examples: Emacs, Lisp machines, expert system shells. I haven’t done adaptive programming, but my favorite languages support FP and excel in some of the capabilities you mention. Rather than RDF standards-based QL, I’ve used general purpose languages to build and/or query KGs: Scala, Clojure, Common Lisp, OPS5 variants, Prolog. Most of those languages have most but not all of (recursion, modularity, polymorphism). Scala and Common Lisp shine in those areas. (I’m told the JVM puts the kibosh on efficient recursion optimizations.)
Q: Are declarative rules languages used for adaptive programming?
Thank you for the insights. I'm trying to merge Prolog/Datalog (logic programming & unification) with Lisp (homoiconic/FP) into a declarative language that combines programming controls with QL: recursion + modularity + pattern matching + relational algebra. the idea is to minimise impedance mismatch you have on separating host programming with QL. it's a multi-platform (compiled in javascript and java bytecode since it is written in Scala) prototype so it can run in the browser.
extrapolate from your points to a general theory of languages and super/sub-structures with regard to evolution of AI and user needs
the idea is to catch the elements that minimise accidental complexity of the programming ecosystem. I guess it is nothing particular new in relation to humans, but maybe for AI tools it is, as you suggest
they are brittle and require constant maintenance because logical data models are separate from query abilities and physical data models. SQL is entirely schizoid (DML vs DDL).
that would be great to know more about that 🙂. what are the query abilities that are source of problems in your opinion?
The query abilities in SQL are robust enough. A language design for RDBMS has been adapted to fit other DB types and datatypes, for blobs and clobs, XML and JSON, LPGs. But if we use an extension to DML we rely on other DDLs. Language enhancements must be added to query engines, and can't be written in SQL.