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