Re: New draft (#4) and last call for comments on SRFI 209: Enumerations and Enum Sets Marc Nieper-WiÃkirchen 17 Nov 2020 18:32 UTC
Without a syntax-case (or some other procedural macro) implementation, the `define-enum(eration)` macros are rather suboptimal and not in a form that I would call production-ready. So to demonstrate how they should be implemented, I would like to strongly suggest to add the syntax-case implementation. But I agree with John that it should behind a cond-expand barrier so that the implementation also runs on a bare R7RS (small) system (modulo SRFI 151). You can use: (or (library (chibi syntax-case)) (library (rnrs syntax-case)) (library (srfi 211 syntax-case))) (Others may know more library names that could be tested against.) Am Di., 17. Nov. 2020 um 19:26 Uhr schrieb John Cowan <xxxxxx@ccil.org>: > > I would say not to use syntax-case unless it is behind a cond-expand barrier of some sort. > > On Tue, Nov 17, 2020 at 1:25 PM Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz> wrote: >> >> On 2020-11-16 20:36 +0100, Marc Nieper-Wißkirchen wrote: >> > Yes, a bit vector representation seems like the best solution, and >> > fast syntax-case macros so that implementers can just copy the sample >> > implementations and their users don't have to worry about performance. >> >> Looks good to me. This will take a little more time to implement and >> test sufficiently. >> >> I've opted to use integer bitmaps rather than bitvectors in the sample >> implementation, to avoid the (rather large) SRFI 178 dependency. This >> should be extremely efficient for small sets, which probably describes >> 99% of the use-cases for enum-sets. >> >> The remaining question: Shall we use syntax-case in the sample >> implementation? >> >> -- >> Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz> >> >> "Computer science is no more about computers than astronomy is >> about telescopes." --pseudo-Dijkstra