Introducing alid
Ali Çehreli
acehreli at yahoo.com
Mon Sep 12 09:15:34 UTC 2022
I am happy to publish on code.dlang.org for the first time:
https://code.dlang.org/packages/alid
Thanks to everyone who made registering a dub package so easy! :)
1) Currently, the main module in `alid` is `cached`, which
- caches range elements to ensure each is executed once (most
useful with generator ranges that use e.g. `map`),
- as a result, elevates InputRanges to ForwardRanges (plus
opIndex).
2) But I like `errornogc` as well, which helps throw Error
objects from @nogc code.
Copying from the README:
* `cached` is for executing elements only once while not holding
on to already popFront'ed elements for too long. `cached` was
the main topic of Ali's DConf 2022 lightning talk.
* `circularblocks` was written for storing range elements by
cached. It can be used independently.
* `blockreusable` was written as storage blocks for
circularblocks. It can be used independently.
* `errornogc` was needed for throwing Errors from @nogc code. It
can be used independently.
* `test` contains some helper utilities for unit testing.
Ali
More information about the Digitalmars-d-announce
mailing list