[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scheme set list function
From: |
Thomas Morley |
Subject: |
Re: scheme set list function |
Date: |
Sat, 6 Apr 2019 16:30:23 +0200 |
Am Sa., 6. Apr. 2019 um 16:11 Uhr schrieb Gianmaria Lari
<address@hidden>:
>
> I wrote this function
>
> #(define (resetList l) (set! l '()))
>
>
> that I would like to set a list to an empty list. This is an example of use:
>
> \version "2.21.0"
> #(define mylist '(1 2 3))
> \markup #(object->string mylist) %this prints (1 2 3)
>
> #(define (resetList l) (set! l '()))
> #(resetList mylist)
> \markup #(object->string mylist) % this I would like it prints () but it
> prints (1 2 3)
>
> I think the problem is related to the fact resetList changes mylist locally
> (sort of) but I have no idea how I can fix it. Any help?
>
> Thank you, g.
One possibility is to use a macro:
#(define-macro (reset-list l) `(set! ,l '()))
Cheers,
Harm
Re: scheme set list function, Andrew Bernard, 2019/04/07
Re: scheme set list function, Andrew Bernard, 2019/04/08