summaryrefslogtreecommitdiffstats
path: root/apps/aux/numbers.scm
diff options
context:
space:
mode:
Diffstat (limited to 'apps/aux/numbers.scm')
-rw-r--r--apps/aux/numbers.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/apps/aux/numbers.scm b/apps/aux/numbers.scm
new file mode 100644
index 0000000..6c83dcb
--- /dev/null
+++ b/apps/aux/numbers.scm
@@ -0,0 +1,31 @@
+;;; Harmonic Flow web site
+
+(define-module (apps aux numbers)
+ #:use-module (srfi srfi-1)
+ #:export (minus-one
+ plus-one
+ range))
+
+
+(define (minus-one n)
+ "Return N-1."
+ (- n 1))
+
+
+(define (plus-one n)
+ "Return N+1."
+ (+ n 1))
+
+
+(define (range a b)
+ "Return the list of integers in the range [A, B].
+
+ A (integer)
+
+ B (integer)
+
+ RETURN VALUE (list of integers)
+ For example, for the range [-2, 3], return
+ (list -2 -1 0 1 2 3)."
+ (cond ((zero? (- a b)) (cons a (list)))
+ (else (cons a (range (plus-one a) b)))))