diff options
Diffstat (limited to 'sieve/euler.scm')
-rw-r--r-- | sieve/euler.scm | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/sieve/euler.scm b/sieve/euler.scm index ac23a94..dfc12de 100644 --- a/sieve/euler.scm +++ b/sieve/euler.scm @@ -1,27 +1,16 @@ -(use-modules (srfi srfi-41)) +(add-to-load-path (dirname (current-filename))) +(import + (srfi srfi-41) + (extra-functional) + (my-streams)) -(define base (stream-from 2)) - - - -(define (curry f) - (lambda (x) - (lambda (y) - (f x y)))) - - -(define-stream (stream-ordered-diff xstrm ystrm) - (stream-match xstrm (() '()) ((x . xs) - (stream-match ystrm (() xstrm) ((y . ys) - (cond ((< x y) (stream-cons x (stream-ordered-diff xs ystrm))) - ((> x y) (stream-ordered-diff xstrm ys)) - (else (stream-ordered-diff xs ys)))))))) +(define base (stream-from 2)) |