aboutsummaryrefslogtreecommitdiff
path: root/advent-of-code/lib
diff options
context:
space:
mode:
Diffstat (limited to 'advent-of-code/lib')
-rw-r--r--advent-of-code/lib/obj.rkt32
-rw-r--r--advent-of-code/lib/utils.rkt36
2 files changed, 0 insertions, 68 deletions
diff --git a/advent-of-code/lib/obj.rkt b/advent-of-code/lib/obj.rkt
deleted file mode 100644
index 8ffc401..0000000
--- a/advent-of-code/lib/obj.rkt
+++ /dev/null
@@ -1,32 +0,0 @@
-#lang racket
-
-(provide obj-maker
- obj-set
- obj-show)
-
-(define (alist->obj alist)
- (λ key
- (if (null? key)
- alist
- (cadr (assoc (car key) alist)))))
-
-(define (obj-maker . fields)
- (λ inits
- (define alist (map list fields inits))
- (alist->obj alist)))
-
-(define (obj-set record key value)
- (define alist (record))
- (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))))))
- (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
deleted file mode 100644
index 2ce8a51..0000000
--- a/advent-of-code/lib/utils.rkt
+++ /dev/null
@@ -1,36 +0,0 @@
-#lang racket
-
-(provide get-lines
- enumerate
- repeat
- split-list-by)
-
-(define (repeat n e)
- (let loop ((i 0) (ret '()))
- (if (>= i n)
- 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)))))
-
-(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)))))
-
-(define (split-list-by e lst . eq)
- (define cmp (if (null? eq) equal? eq))
- (let loop ((ret '())
- (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))))))