I noted that the change committed in 1.0.43.26 affects (breaks) DIVIDE-AND-CONQUER-FORCE of screamer.
As a test-case:
(in-package #:screamer-user)
(defun pythagorean-triplesv (n) (all-values (solution (let ((a (an-integer-betweenv 1 n)) (b (an-integer-betweenv 1 n)) (c (an-integer-betweenv 1 n))) (assert! (=v (+v (*v a a) (*v b b)) (*v c c))) (list a b c)) (reorder #'range-size #'(lambda (x) (< x 1e-6)) #'> #'divide-and-conquer-force))))
(pythagorean-triplesv 5) should => ((3 4 5) (4 3 5))
but now it errs with: The value (1 2) is not of type NULL. [Condition of type TYPE-ERROR]
Recompiling DIVIDE-AND-CONQUER-FORCE with the PROPAGATE-LOCAL-CALL-ARGS of 1.0.43.25 fixes it again.
I noted that the change committed in 1.0.43.26 affects (breaks) DIVIDE- AND-CONQUER- FORCE of screamer.
As a test-case:
(in-package #:screamer-user)
(defun pythagorean- triplesv (n) betweenv 1 n)) betweenv 1 n)) betweenv 1 n)))
#'divide- and-conquer- force)) ))
(all-values
(solution
(let ((a (an-integer-
(b (an-integer-
(c (an-integer-
(assert! (=v (+v (*v a a) (*v b b)) (*v c c)))
(list a b c))
(reorder #'range-size
#'(lambda (x) (< x 1e-6))
#'>
(pythagorean- triplesv 5) should => ((3 4 5) (4 3 5))
but now it errs with:
The value (1 2) is not of type NULL.
[Condition of type TYPE-ERROR]
Recompiling DIVIDE- AND-CONQUER- FORCE with the PROPAGATE- LOCAL-CALL- ARGS
of 1.0.43.25 fixes it again.