From e3b21ffd6b88008fd1cc3599a0f816773dc11f9d Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 22 Apr 2024 21:58:10 +0300 Subject: Refactor whole thing to use in-memory DB as source of truth --- utils.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'utils.scm') diff --git a/utils.scm b/utils.scm index a7f7b17..ab14b22 100644 --- a/utils.scm +++ b/utils.scm @@ -45,4 +45,25 @@ (match (assoc key alist) [#f #f] [pair (cdr pair)])) + + (define (lookup key alist) + (if (not alist) + #f + (assocdr key alist))) + + (define (filter pred xs) + (if (null? xs) + xs + (if (pred (car xs)) + (cons (car xs) (filter pred (cdr xs))) + (filter pred (cdr xs))))) + + (define (flatten1 as) + (foldl append '() as)) + + (define (flatmap f xs) + (flatten1 (map f xs))) + + (define (falsy? x) (not x)) + (define (truthy? x) (not (falsy? x))) ) -- cgit v1.3