-
-
Notifications
You must be signed in to change notification settings - Fork 639
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unleashed javaslang.collection.Iterator. Refactored Collections. #439
Conversation
danieldietrich
commented
Aug 7, 2015
- Fixes Implement Scala like Iterator with lazy map/flatMap capabilities #431 Implement Scala like Iterator with lazy map/flatMap capabilities
- Fixes Remove internal abstract classes from public API #291 Remove internal abstract classes from public API
- Fixes Re-organize collection.Tree #256 Re-organize collection.Tree
- Towards Make complex hashCodes lazy #433 Make complex hashCodes lazy // but Deserialization of transient Lazy does not work!
- Towards Make interface Tree extend Traversable #113 Make interface Tree extend Traversable
- // it will at least extend Iterable and FilterMona, maybe TraversableOnce but not Traversable
@ruslansennov I'm on vacation with my family for one week, starting tomorrow. Notebook has to stay home o_O... I will try to go online at most once a day. We will see. |
@ruslansennov I refactored the collections a little bit. Please have a look (HashSet, HashMap). There is now |
Unleashed javaslang.collection.Iterator. Refactored Collections.
Have a nice trip! It's a good idea to leave the laptop at home |
Yes... |
I made HAMT and Interface. That leaks the inner classes to the public. Pro: this enables pattern matching by subtype, 'introspection' and Proxying of the HAMT. Con: the public API shows more classes I'm not sure. We can switch back, when in doubt. The RedBlackTree is also designed as Interface with inner static classes. I like interfaces in general. They are more flexible, and it seems a good design practice to me. |
This was the reason I chose |
Ok. Abstract classes were always some intermediate types to me, not intended to be directly used other than extending them for own types. We will go with interfaces for now. I hope that Java 9 gives us some extra syntax regarding interfaces to hide private methods and maybe private inner classes. We will see. |