application/octet-stream
•
609 B
•
21 lines
; Nujel - Copyright (C) 2020-2021 - Benjamin Vincent Schulenburg
; This project uses the MIT license, a copy should be included under /LICENSE
;; Some functions about trees
[defun tree/zip [keys values]
"Return a tree where KEYS point to VALUES"
[def ret [tree/new]]
[while keys
[tree/set! ret [car keys] [car values]]
[cdr! keys]
[cdr! values]]
ret]
[defun tree/+= [t k v]
"Increment value at K in T by V"
[tree/set! t k [+ v [int [tree/get t k]]]]]
[defmacro tree/++ [t k]
"Increment value at K in T by 1"
`[tree/+= ~t ~k 1]]