Hi, I’m rewriting one of LilyPond's C++ routines in Guile/Scheme in order to customize it for my own use, and it uses some nested dictionary/map/alist-style data structures that you can modify using something like this in C++:
mydata[aaa][bbb].ccc = 10; Ok, maybe use alists, but how to modify the nested values? ...given that you need an extra “set!” operation to do this reliably, as shown in the documentation: (set! address-list (assoc-set! address-list "bob" "11 Newington Avenue")) But if you have nested alists like this (define my-alist ‘((aaa . ((bbb . ((ccc . 10))))))) and you want to change ccc, then the “set!” trick doesn’t help. (...what would you “set!”?) So what’s the best approach here for such nested data structures? Maybe I should just use nested hash maps instead? Sorry if I’m missing something obvious. Thanks, -Paul