2 ms·
> sequences are a band-aid over the lack of real iterator protocol Wouldn't it be better to solve that problem? Proper generalized iteration with generators is
by matheusmoreira 11mo ago
> sequences are a band-aid over the lack of real iterator protocol
Wouldn't it be better to solve that problem? Proper generalized iteration with generators is just semicoroutines which can be implemented by swapping around stack pointers with zero copying. Should be competitive performance wise.
- BoingBoomTschak 11mo agoAs linked, the extensible sequence protocol (https://shinmera.com/docs/trivial-extensible-sequences/ https://shinmera.com/docs/trivial-extensible-sequences/) already exists and is quite workable. The problem is that it's not supported enough, both by implementations (CCL missing, for example) and the entire ecosystem. In the end, it's simpler to stay with boring, ANSI compliant solutions well optimized by compilers.
- shawn_w 11mo agoI've been toying with trying to add extensible sequences to ccl as a way to get more familiar with it, but ccl development seems dead so I'm not sure it's worth the effort.
- stackghost 11mo agoThere are effectively two Common Lisp worlds: the commercial world where Allegro and Lispworks dominate, and the non-commercial world where SBCL is more or less the only game in town. CCL, as far as I can tell, is abandonware
- a-french-anon 11mo agoPersonally, I still try to support CCL, ECL and CLISP in addition to SBCL; I mostly ignore CLISP's warnings though.
- deleted 11mo ago[deleted]
- guenthert 11mo ago> CCL, as far as I can tell, is abandonware Last release was August 14 2024. For a 30+ year old project, that's quite recent methinks. It clearly doesn't move as fast as SBCL, but I wouldn't call it abandoned either. ototh, afaiu, SBCL gave up on ARM32. Can't blame them for that, but until 2023 I was still using an early Banana Pi with such. CCL worked there much better (also it's GC seems more robust).
- tmtvl 11mo agoECL still has its niches (if you want to use CL in an Android application, for example, ECL is easier to work with than SBCL).