Skip to content

Instantly share code, notes, and snippets.

@haruyama
Last active August 29, 2015 14:01
Show Gist options
  • Save haruyama/a52e6fe6355ad56d5e8a to your computer and use it in GitHub Desktop.
Save haruyama/a52e6fe6355ad56d5e8a to your computer and use it in GitHub Desktop.
(find-assertions (query-syntax-process '(job ?x (computer programmer)))
(singleton-stream '()))
(check-an-assertion '(job (Hacker Alyssa P) (computer programmer))
(query-syntax-process '(job ?x (computer programmer)))
(singleton-stream '()))
(check-an-assertion '(job (Bitdiddle Ben) (computer wizard))
(query-syntax-process '(job ?x (computer programmer)))
(singleton-stream '()))
(pattern-match
(query-syntax-process '(job ?x (computer programmer)))
'(job (Hacker Alyssa P) (computer programmer))
(singleton-stream '()))
(pattern-match
(query-syntax-process '(job ?x ?y))
'(job (Hacker Alyssa P) (computer programmer))
(singleton-stream '()))
(binding-in-frame '(? y)
(pattern-match
(query-syntax-process '(job ?x ?y))
'(job (Hacker Alyssa P) (computer programmer))
(singleton-stream '())))
(fetch-rules (query-syntax-process '(wheel ?p)) (singleton-stream '()))
(apply-rules (query-syntax-process '(wheel ?p)) (singleton-stream '()))
(apply-a-rule (stream-car (fetch-rules (query-syntax-process '(wheel ?p)) (singleton-stream '())))
(query-syntax-process '(wheel ?p)) (singleton-stream '()))
(display-stream
(stream-map
(lambda (frame)
(instantiate
(query-syntax-process '(wheel ?p))
frame
(lambda (v f) (v))))
(apply-a-rule (stream-car (fetch-rules (query-syntax-process '(wheel ?p)) (singleton-stream '())))
(query-syntax-process '(wheel ?p)) (singleton-stream '()))))
(rename-variables-in
(stream-car (fetch-rules (query-syntax-process '(wheel ?p)) (singleton-stream '()))))
(unify-match 1 '(? x)
(singleton-stream '()))
(unify-match '(? x) 1
(singleton-stream '()))
(unify-match '(? x) '(? x)
(singleton-stream '()))
;(query-syntax-process '(?x ?x))
;(?x ?x) (?y ?y)
(unify-match '((? x) (? x)) '((? y) (? y))
(singleton-stream '()))
(unify-match '((? y) (? x)) '((? x) (? y))
(singleton-stream '()))
(unify-match '(? x) 1
(extend '(? x) 2
(singleton-stream '())))
(unify-match '(? x) 2
(extend '(? x) 2
(singleton-stream '())))
(unify-match '((? x) (? y)) '((? y) 1)
(extend '(? x) 2
(singleton-stream '())))
(depends-on? '((? x) (? x)) '(? x)
(singleton-stream '()))
(depends-on? '(? x) '(? x)
(singleton-stream '()))
(depends-on? '(? x) '(? y)
(singleton-stream '()))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment