GlenKPeterson / Paguro

Generic, Null-safe, Immutable Collections and Functional Transformations for the JVM
Other
312 stars 24 forks source link

Support split(0) and split(size) #26

Closed jcornaz closed 6 years ago

jcornaz commented 6 years ago

Hello,

First, thank you very much for providing theses highly performant persistent datastructures.

However, I noticed that RrbTree does not support split at index 0 or equals to the size of the tree. And I don't really understand why.

If the index is zero then the split is easy:

And if the index equals the size of the tree, then the split is easy again:

GlenKPeterson commented 6 years ago

Thank you for reporting this. I've looked at it and you're right, that's how it should behave. Do you want me to fix it, or do you want to submit a patch? If a patch, please keep the changes minimal (don't let your IDE reformat whole files), try to match the code style, and update the unit tests.

GlenKPeterson commented 6 years ago

Never mind, I fixed it. Thank you very much! I put your name and a link to your project in the ChangeLog.

GlenKPeterson commented 6 years ago

P.S. I see you're a Kotlin fan. I have been doing a fair amount of work on a Kotlin rewrite. I was waiting for the JvmDefault annotation, then the JvmStatic annotation to work in interfaces, but I think in the version of Kotlin released yesterday it has experimental support, so I might be out of excuses. :-) Maybe in a month or so I'll have another check-in for the Kotlin branch. Thanks for your interest!

jcornaz commented 6 years ago

Thanks for the fix.

Yes I'm a big Kotlin fan, and I'm very pleased to see that you're working on improving this library for Kotlin devs.

Thanks to you for your work on this library.

jcornaz commented 6 years ago

@GlenKPeterson, it seems that you made a mistake in the git tag.

You tagged the fix 3.0.18 while it is actually the artifact 3.0.19.

GlenKPeterson commented 6 years ago

Oops! Thanks, I made a new 3.0.19 release. https://github.com/GlenKPeterson/Paguro/releases/tag/3.0.19