diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2024-04-22 21:58:10 +0300 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2024-04-22 21:58:10 +0300 |
| commit | e3b21ffd6b88008fd1cc3599a0f816773dc11f9d (patch) | |
| tree | 6843abb968954cce59e43ebf606bda2ab39b2692 /utils.scm | |
| parent | d369f1411c8cf0a07686ed944c8f9f98521129fd (diff) | |
Refactor whole thing to use in-memory DB as source of truth
Diffstat (limited to 'utils.scm')
| -rw-r--r-- | utils.scm | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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))) ) |
