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?

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’.
>>
>>

Reply via email to