Jacqueline Firth

Results 449 comments of Jacqueline Firth

> > ``` > > * I think you're right that the main improvement is replacing `cond` clauses with pattern matching, especially nested `cond`s. I suspect you're right that that...

We could add a [`no-contract`](https://docs.racket-lang.org/style/Language_and_Performance.html) submodule to `rebellion/collection/list` then. That would make the sorting transducer contracts on `list-insert` toggleable, and if we do it for some of the other modules...

> It looks like for this benchmark, `in-merge-sorted`-as-a-transducer takes about as long as `sort`-as-a-transducer, and Rebellion's `sorting` is still in first place. Hmm, that's suspicious. I think `transducer-pipe`, `batching`, and...

Idea: you can determine the overhead of pipe/batching/appending by just timing `(transducer-pipe (batching into-list) (append-mapping values))`.

API needs more thought. Two outstanding questions: - How does this fit in with #328 and related functionality, like `splitf-at`? - How should out-of-bounds indices be handled? Something like #346?

The implementation of the current design is ostensibly not blocked on #347 and #191, but practically speaking they make it _much_ simpler than it would be otherwise.

Another idea: make `variant` a macro that statically expands into a direct call to the internal variant constructor when it's used in a first-order way. So `(variant #:foo (some-expression))` would...

Yikes, checking the consumer contract of `(mapping values)` is 5 seconds on its own, and the emitter contract is another four seconds. And that check would be repeated for _every_...