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

Reply via email to