Skip to content

Commit

Permalink
Actually adding intervals. Very close to working
Browse files Browse the repository at this point in the history
  • Loading branch information
calvis committed Mar 2, 2012
1 parent 8b8c827 commit cf0172a
Show file tree
Hide file tree
Showing 4 changed files with 321 additions and 65 deletions.
17 changes: 16 additions & 1 deletion fd.scm
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,25 @@
(export
infd domfd =fd =/=fd <=fd <fd
plusfd timesfd distinctfd range)
(import (rnrs) (ck) (finite-domain))
(import (rnrs) (ck) (interval-domain))

;;; helpers

(define list-sorted?
(lambda (pred ls)
(cond
((or (null? ls) (null? (cdr ls))) #t)
((pred (car ls) (cadr ls))
(list-sorted? pred (cdr ls)))
(else #f))))

(define list-insert
(lambda (pred x ls)
(cond
((null? ls) (cons x '()))
((pred x (car ls)) (cons x ls))
(else (cons (car ls) (list-insert pred x (cdr ls)))))))

(define pred_x
(lambda (x)
(lambda (oc)
Expand Down
13 changes: 10 additions & 3 deletions fdtests.scm
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,25 @@
;; (<=fd c 5)))
;; '((1 2 3)))

(test-check "1^^"
(test-check "0.0"
(run* (x)
(infd x '(1 2)))
'(1 2))

(test-check "1^"
(test-check "0.1"
(run* (x)
(fresh (y)
(infd x y '(1 2))
(=fd x y)))
'(1 2))

(test-check "1.0"
(run* (x)
(infd x '(1 2))
(=/=fd x 1))
`(2))

(test-check "1"
(test-check "1.1"
(run* (q)
(fresh (x)
(infd x q '(1 2))
Expand Down
15 changes: 0 additions & 15 deletions finite-domain.scm
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,6 @@
;; of value-doms?, with no duplicates.
(define make-dom (lambda (n*) n*))

(define list-sorted?
(lambda (pred ls)
(cond
((or (null? ls) (null? (cdr ls))) #t)
((pred (car ls) (cadr ls))
(list-sorted? pred (cdr ls)))
(else #f))))

(define list-insert
(lambda (pred x ls)
(cond
((null? ls) (cons x '()))
((pred x (car ls)) (cons x ls))
(else (cons (car ls) (list-insert pred x (cdr ls)))))))

(define map-sum
(lambda (f)
(letrec
Expand Down
Loading

0 comments on commit cf0172a

Please sign in to comment.