Heya, Zelphir Kaltstahl <zelphirkaltst...@posteo.de> writes:
> Hi! > > This reminds me of something: Is there something like > https://docs.racket-lang.org/lens/index.html for Guile? Or perhaps an > easy to understand tutorial on implementing it? Check out https://gitlab.com/a-sassmannshausen/guile-lens It's an implementation I did for fun a while ago. Can't remember how faithfully it implements lenses as compared with racket's… Best wishes, Alex > > Regards, > Zelphir > > On 2/18/20 2:38 PM, Christopher Lam wrote: >> A bit late, and perhaps not as sophisticated as some bigger modules here. >> >> Two functions defined as follows: nested-alist-set! nested-alist-get at >> https://github.com/Gnucash/gnucash/blob/1f83cfaf64d1cd3c8862b427dd043154f780a772/gnucash/report/html-chart.scm#L37 >> >> Consider a nested alist describing unix file system >> (define lst >> (list >> (cons 'usr (list >> (cons 'bin "binary files") >> (cons 'games "g4m3s") >> (cons 'include (list >> (cons 'guile (list >> (cons '2.2 "old"))) >> (cons 'linux "da best"))))))) >> >> We can access a leaf node via (nested-alist-get lst '(usr include linux)) >> --> "da best", and set a leaf node via (nested-alist-set! lst '(usr include >> python) "boo"). This is probably easy to seasoned schemers, but still a >> nice pair of functions to use in modifying nested alists before conversion >> into json. >> >> On Mon, 17 Feb 2020 at 09:16, Ludovic Courtès <l...@gnu.org> wrote: >> >>> Hi! >>> >>> Ricardo Wurmus <rek...@elephly.net> skribis: >>> >>>> What do you think about adding these things to >>>> https://notabug.org/cwebber/guile-webutils/ ? This was once intended to >>>> be a collection of useful tools that come in handy when writing web >>>> applications. >>> I didn’t know about guile-webutils but consolidating Web tools in this >>> package sounds like a great idea! >>> >>> Ludo’. >>> >>>