rebellion icon indicating copy to clipboard operation
rebellion copied to clipboard

A collection of core libraries for Racket

Results 95 rebellion issues
Sort by recently updated
recently updated
newest added

The `rebellion/collection` library should provide an API for graphs and graph-shaped data. Here are some relevant libraries to draw design inspiration from: - [Google Guava Graphs API][guava-graphs] - [Stephen Chang's...

enhancement
needs api design

Sometimes records have missing fields that actually represent default values, or are otherwise significant. There should be some support in `rebellion/collection/record` for these use cases: - I have a record...

enhancement
needs api design

There should be a way to write transducer implementations such that the state of the transducer is modeled implicitly using control flow. This would make it easier to implement transducers...

enhancement
needs api design
very complex

The Racket `hash-copy` makes a shallow copy of the hash. Maybe more useful would be a copier that could optionally take a procedures to copy a key and/or a procedure...

enhancement
needs api design
needs use cases

Would it be useful to have a way to limit how many emissions a transducer can produce for each item? Either by delaying/buffering them or by dropping them entirely. Example:...

enhancement
needs api design
needs use cases

Using the `sorting` transducer is over an order of magnitude slower than using the built-in `sort` function in `racket/base`, even when when the `sorting` transducer is followed immediately by a...

performance

Related to #351, but this is more about users writing and profiling their code. Users should be able to use the [feature profiler](https://docs.racket-lang.org/feature-profile/index.html) to figure out: - how much time...

enhancement
performance
very complex

These two transducer pipelines should have the exact same performance: ```racket (transduce some-sequence (mapping f) (taking 20) (mapping g) (taking 5) (append-mapping h) (filtering p) (filtering q) #:into some-reducer) (transduce...

enhancement
needs api design
performance
very complex

Something like this: ```racket (define-regular-expression-type memory-usage-row #px"\\s*(\\S+):\\s+(\\d+)\\s+(\\d+)" (usage-type current-usage cumulative-usage)) (define memory-dump #list (in-matched-memory-usage-rows memory-dump)) (list (memory-usage-row "" 3307 105824) (memory-usage-row "" 14761 1007952) (memory-usage-row "

enhancement
needs api design

This issue is specifically about data types in `rebellion/base` and `rebellion/collection`. - Either provide lenses directly from the library (and add a dependency on the `lens-common` package) - Or expose...

enhancement
needs api design