Announcement Loop Facility
Marc Nieper-Wißkirchen
(16 Aug 2022 08:31 UTC)
|
Re: Announcement Loop Facility
Lassi Kortela
(16 Aug 2022 09:03 UTC)
|
Re: Announcement Loop Facility
Vladimir Nikishkin
(16 Aug 2022 09:24 UTC)
|
Re: Announcement Loop Facility
Marc Nieper-Wißkirchen
(16 Aug 2022 09:43 UTC)
|
Re: Announcement Loop Facility
Marc Nieper-Wißkirchen
(16 Aug 2022 10:01 UTC)
|
Re: Announcement Loop Facility
Ricardo G. Herdt
(16 Aug 2022 10:04 UTC)
|
Re: Announcement Loop Facility
Lassi Kortela
(16 Aug 2022 10:17 UTC)
|
Re: Announcement Loop Facility
Ricardo G. Herdt
(16 Aug 2022 10:22 UTC)
|
Re: Announcement Loop Facility Marc Nieper-Wißkirchen (16 Aug 2022 10:39 UTC)
|
Name of the loop macro
Lassi Kortela
(16 Aug 2022 10:55 UTC)
|
Re: Name of the loop macro
John Cowan
(16 Aug 2022 11:03 UTC)
|
Re: Name of the loop macro
Jakub T. Jankiewicz
(16 Aug 2022 11:18 UTC)
|
Re: Name of the loop macro
Marc Nieper-Wißkirchen
(16 Aug 2022 11:25 UTC)
|
Changing the binding of quote et.al.
Lassi Kortela
(16 Aug 2022 11:46 UTC)
|
Re: Name of the loop macro
John Cowan
(16 Aug 2022 11:57 UTC)
|
Re: Name of the loop macro
Marc Nieper-Wißkirchen
(16 Aug 2022 12:33 UTC)
|
Re: Name of the loop macro
Marc Nieper-Wißkirchen
(16 Aug 2022 11:16 UTC)
|
Yes, I plan to name the macro "loop". At least in R[67]RS, it won't clash with locally defined variables named "loop". Thanks to the rename facility of the R[67]RS module system, it can also peacefully coexist with other loop facilities named "loop" as well. As a loop is a basic construct, I don't think a distinguishing name like "loop-of-marc" would be a good choice. Am Di., 16. Aug. 2022 um 12:22 Uhr schrieb Ricardo G. Herdt <xxxxxx@posteo.de>: > > Indeed, so no need to worry about broken code. But for clarity I > probably should use something else anyway. > > Am 16.08.2022 12:17 schrieb Lassi Kortela: > >> Out of curiosity, do you plan to call it 'loop'? That will probably > >> break all my code, I should start renaming my named lets to 'lp' :) > > > > At least in R7RS, the following seems to work as intended: > > > > (import (scheme base) (scheme write)) > > > > (define-syntax loop > > (syntax-rules () > > ((loop . ignored) > > (syntax-error "No loop for you!")))) > > > > (define (my-iota n) > > (let loop ((n n) (list '())) > > (let ((n (- n 1))) > > (if (negative? n) list (loop n (cons n list)))))) > > > > (write (my-iota 10)) > > (newline)