diff options
Diffstat (limited to 'advent-of-code/lib')
| -rw-r--r-- | advent-of-code/lib/obj.rkt | 22 | ||||
| -rw-r--r-- | advent-of-code/lib/utils.rkt | 20 |
2 files changed, 21 insertions, 21 deletions
diff --git a/advent-of-code/lib/obj.rkt b/advent-of-code/lib/obj.rkt index 9217976..8ffc401 100644 --- a/advent-of-code/lib/obj.rkt +++ b/advent-of-code/lib/obj.rkt @@ -5,13 +5,13 @@ obj-show) (define (alist->obj alist) - (lambda key + (λ key (if (null? key) - alist - (cadr (assoc (car key) alist))))) + alist + (cadr (assoc (car key) alist))))) (define (obj-maker . fields) - (lambda inits + (λ inits (define alist (map list fields inits)) (alist->obj alist))) @@ -20,13 +20,13 @@ (define new-alist (let loop ((new-list '()) (cur alist) (is-set #f)) (if (null? cur) - (if is-set - new-list - (cons (list key value) new-list)) - (let () - (if (eq? key (caar cur)) - (loop (cons (list key value) new-list) (cdr cur) #t) - (loop (cons (car cur) new-list) (cdr cur) is-set)))))) + (if is-set + new-list + (cons (list key value) new-list)) + (let () + (if (eq? key (caar cur)) + (loop (cons (list key value) new-list) (cdr cur) #t) + (loop (cons (car cur) new-list) (cdr cur) is-set)))))) (alist->obj new-alist)) (define (obj-show x) (x))
\ No newline at end of file diff --git a/advent-of-code/lib/utils.rkt b/advent-of-code/lib/utils.rkt index 42b36af..2ce8a51 100644 --- a/advent-of-code/lib/utils.rkt +++ b/advent-of-code/lib/utils.rkt @@ -8,21 +8,21 @@ (define (repeat n e) (let loop ((i 0) (ret '())) (if (>= i n) - ret - (loop (+ 1 i) (cons e ret))))) + ret + (loop (+ 1 i) (cons e ret))))) (define (get-lines fp) (let loop ((lines '())) (define l (read-line fp)) (if (eof-object? l) - (reverse lines) - (loop (cons l lines))))) + (reverse lines) + (loop (cons l lines))))) (define (enumerate lst) (let loop ((i 1) (ret '()) (remain lst)) (if (null? remain) - (reverse ret) - (loop (+ 1 i) (cons (list (car remain) i) ret) (cdr remain))))) + (reverse ret) + (loop (+ 1 i) (cons (list (car remain) i) ret) (cdr remain))))) (define (split-list-by e lst . eq) (define cmp (if (null? eq) equal? eq)) @@ -30,7 +30,7 @@ (cur '()) (lst lst)) (if (null? lst) - (reverse (cons (reverse cur) ret)) - (if (cmp e (car lst)) - (loop (cons (reverse cur) ret) '() (cdr lst)) - (loop ret (cons (car lst) cur) (cdr lst))))))
\ No newline at end of file + (reverse (cons (reverse cur) ret)) + (if (cmp e (car lst)) + (loop (cons (reverse cur) ret) '() (cdr lst)) + (loop ret (cons (car lst) cur) (cdr lst)))))) |
