Changeset a835a79 in Lumiera
- Timestamp:
-
2026-03-31T23:49:36Z
(3 weeks ago)
- Author:
- Ichthyostega <prg@…>
- Branches:
- dev/play
- Children:
- 0760525
- Parents:
- 40d3167
- git-author:
- Ichthyostega <prg@…> (30/03/26 19:24:54)
- git-committer:
- Ichthyostega <prg@…> (31/03/26 23:49:36)
- Message:
-
Library: investigate further ramifications and clean-up Itertools
The detailed analysis of corner cases indicated a lot of hidden dangers
when stretching the IterExplorer design beyond its limits.
By deliberate choice, this design was kept open so that advanced cohesive
implementation structures can be built. It is even possible and tolerated
to rely on references to some degree -- assuming however that the
referred memory location remains stable.
As it turned out, these basic assumptions can be broken by a combination
of read-ahead processing (as is necessary for grouping and filtering),
together with adaptor objects embedded as value, especially when
the resulting pipeline object is then moved or copied during evaluation.
While my general attitude towards such extremely clever implementation
constructs is "don't shoot yourself into your foot unless you need to" --
it seems prudent to clean-up some crappy code from the first attempts
towards an iterator pipeline -- notably some of the »Itertools«.
-
(No files)
-