From 325a7d29a4bd4665c741aa0497eabc77a926844d Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Sat, 5 Mar 2022 11:35:32 +0100 Subject: Updated scheme setup --- scheme/utils.scm | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) (limited to 'scheme/utils.scm') diff --git a/scheme/utils.scm b/scheme/utils.scm index 6ba98cd..d17f20c 100644 --- a/scheme/utils.scm +++ b/scheme/utils.scm @@ -1,22 +1,18 @@ -(define fold - (lambda (f acc xs) - (if (null? xs) - acc - (fold f (f acc (car xs)) (cdr xs))))) +(define (fold f acc xs) + (if (null? xs) + acc + (fold f (f acc (car xs)) (cdr xs)))) -(define sum - (lambda (xs) (fold + 0 xs))) +(define (sum xs) (fold + 0 xs)) -(define range - (lambda (start stop step) - (if (>= start stop) - '() - (cons start (range (+ start step) stop step))))) +(define (range start stop step) + (if (>= start stop) + '() + (cons start (range (+ start step) stop step)))) -(define filter - (lambda (predicate xs) - (if (null? xs) - '() - (let* ((x (car xs)) - (filtered (filter predicate (cdr xs)))) - (if (predicate x) (cons x filtered) filtered))))) +(define (filter predicate xs) + (if (null? xs) + '() + (let* ((x (car xs)) + (filtered (filter predicate (cdr xs)))) + (if (predicate x) (cons x filtered) filtered)))) -- cgit