OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-atomspace / tests / query / nested-and.scm

36 lines · scm ref:
;
; nested-and.scm
; Test recursively-nested AndLinks
;
(use-modules (opencog))

(Evaluation (Predicate "has-a")
	(List (Concept "car") (Concept "battery")))

(Evaluation (Predicate "state")
	(List (Concept "battery") (Concept "dead")))

(define did-call #f)

(define (foo x)
	(format #t "foo: ~A\n" x)
	(set! did-call #t)
	#t)

(define nestand
	(Meet
		(TypedVariable (Variable "$component") (Type 'Concept))
		(And
			(And
				(Present
					(Evaluation (Predicate "has-a")
						(List (Concept "car") (Variable "$component"))))
				(Evaluation (GroundedPredicate "scm: foo")
					(List (Variable "$component"))))
			(And
				(Present
					(Evaluation (Predicate "state")
						(List (Variable "$component") (Concept "dead"))))))))

; (cog-execute! nestand)