From 6f4601d5bd245e99831cedb12b732d77501a16e1 Mon Sep 17 00:00:00 2001 From: Masaya Tojo Date: Sun, 16 Jun 2024 18:39:20 +0900 Subject: Add usages section to README.md --- examples/pythagorean-triples.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 examples/pythagorean-triples.scm (limited to 'examples/pythagorean-triples.scm') diff --git a/examples/pythagorean-triples.scm b/examples/pythagorean-triples.scm new file mode 100644 index 0000000..4f620af --- /dev/null +++ b/examples/pythagorean-triples.scm @@ -0,0 +1,11 @@ +(import (srfi 41) + (prefix (algebraic-structures stream monad) stream:) + (prefix (algebraic-structures stream alternative) stream:)) + +(define (pythagorean-triples) + (stream:do (b <- (stream-from 1)) + (a <- (stream-range 1 b)) + (let c^2 = (+ (* a a) (* b b))) + (let-values (c r) = (exact-integer-sqrt c^2)) + (stream:guard (zero? r)) + (stream (list a b c)))) -- cgit v1.2.3