immutable icon indicating copy to clipboard operation
immutable copied to clipboard

Immutable collections for Go

Results 15 immutable issues
Sort by recently updated
recently updated
newest added

This fork converts Ben's immutable types with generics. Tests are passing. I haven't really test driven this, but tests are passing... Notes and open points: * List was easier to...

Currently, the data structures themself (Map, List) are designed as structs. Do you think in a future major release it would be possible to change them to interfaces. This would...

enhancement

Currently there is no easy way to delete an element from a list. Only recreating the list can be done what is very annoying. Something like this would be very...

enhancement

With go slices it is possible to append multiple values: ``` s = append(s, anotherSlice...) ``` This is quite cumbersome currently with immutable, and also would create a lot of...

enhancement

I wonder if this library is willing to adopt Go generics, and whether or not it's aiming to be actively maintained in the future? I'm interested in having immutable data...

enhancement

I notice that List[T] and Map[T] use by-reference semantics whereas Set[T] uses by-value semantics. I propose that all the main immutable types in this package use by-value semantics like Set[T]...

Right now, `ListBuilder, MapBuilder and SortedSetBuilder) are intialised with empty data structures. This is great if you want to create an object from scratch, but doesn't cover the use case...

I know that the goal of this project is to provide a clean and efficient minimal API but i think having for example a some high order procedures like `Filter`...

enhancement
help wanted

I have [a wrapper of immutable](https://github.com/anacrolix/stm/tree/master/stmutil) that adds sets and some other generic interface stuff. I'm [having difficulty](https://github.com/anacrolix/stm/issues/5#issuecomment-1291807139) mapping it onto v0.4.0 of immutable. I read [the PR ](https://github.com/benbjohnson/immutable/pull/23) for...