I made
scheme? -> cKanren
http://d.hatena.ne.jp/niitsuma/20081113/1346834459
Because allowedo does not work on Racket
usage
(run* (x)
(== x 3)
(scm?->ck number? x));=>(3)
(run* (x)
(scm?->ck number? x) ;;project does not work in this order
(== x 3)) ;=>(3)
(run* (x)
(== x 'a)
(scm?->ck number? x));=>'()
(run* (x) (scm?->ck number? x));=> '(_.0)
;;;; allowedo not work in racket
;; (test-check "8"
;; (run* (q) (allowedo symbol? q))
;; `((_.0 : (allowed (,symbol? _.0))))))