# HG changeset patch # User Richard Westhaver # Date 1723172480 14400 # Node ID 1a0df4444a9f59dc413abef2702bc9173f637df5 # Parent 568c39371122b58d00f5b3b0f89af702acdb8219 dql notes diff -r 568c39371122 -r 1a0df4444a9f lisp/lib/q/dql.lisp --- a/lisp/lib/q/dql.lisp Wed Aug 07 21:09:43 2024 -0400 +++ b/lisp/lib/q/dql.lisp Thu Aug 08 23:01:20 2024 -0400 @@ -25,10 +25,30 @@ ;; this stage. The design of this package will be much simpler and optimized ;; for compatibility with Lisp Objects. -;; I think we can get quite far, with a bit of clever hacking and some good -;; macros. +;; The design we're going for in this package is what I would consider the +;; Lisper's version of Datalog. We want to implement just enough to be useful +;; as a query language, and then use it to bootstrap a more elegant Prolog +;; compiler, likely in SYN/PROLOG. + +;;;;; Data Model + +;; compiled code + constants -> physical plan -> arena + hash-tables -> engine + +;;;;; Compiler -;;;; Refs +;; Predicates + +;; Rules/Facts + +;;;;; Runtime + +;; Engine + +;; Execution + +;; Persistence + +;;;;; Refs ;; https://franz.com/support/documentation/11.0/prolog.html @@ -38,6 +58,8 @@ ;; https://en.wikipedia.org/wiki/Negation_as_failure +;; https://github.com/bobschrag/clolog/blob/main/architecture.md + ;;; Code: (in-package :q/dql)