Hash :
8fbe02c6
Author :
Thomas de Grivel
Date :
2023-06-19T15:36:04
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
;; cl-facts
;; Copyright 2011, 2023 Thomas de Grivel <thodg@kmx.io>
;;
;; Permission is hereby granted to use this software granted
;; the above copyright notice and this permission paragraph
;; are included in all copies and substantial portions of this
;; software.
;;
;; THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
;; PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
;; AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
;; THIS SOFTWARE.
(in-package :facts)
(add ('result 'source ?s)
(?s 'id "plop")
(?s 'score 42))
(trace replace-bindings collect-bindings% with%)
(trace make-fact/v fact/v-subject fact/v-predicate fact/v-object)
(with ((?s ?p ?o))
(format t "~&~S ~S ~S~&" ?s ?p ?o))
(llrbtree:map-tree (lambda (key value)
(format t "~&~S -> ~S~%" key value))
(db-pos-tree *db*)
:START (MAKE-FACT/V NIL nil NIL))
(macroexpand-1
(third
(macroexpand-1
'(with (('result 'source ?p))
(format t "~S~&" ?p)))))
(with (('result 'source ?p)
(?p 'id ?id))
(return (list ?p ?id)))
(with (('result 'source ?p)
(?p 'id ?id)
(?p 'score ?score))
(format t "~S~%" (list (list ?p 'score ?score)
(list ?p 'id ?id))))