A fork of the awesome Cyclops project
- Make it easier to distinguish among the multitude of functional data structures, constructs, and tools the Cyclops project
provides by:
- Changing packages and package names to clarify how the classes fit together and what their use cases might be
- Renaming classes and interfaces where there might be some confusion
- Adding documentation to the code where it might be helpful
- Reformatting the original code
- Provide new constructs using Cyclops components
- Create fluent interfaces building on the Cyclops project to keep it current
- Upgrade the Cyclops project Gradle build configuration
- Keep Java func-y
-
Dysfunctional programming in Java : A functional tutorial
- Part 1 : Laziness (Covering Supplier & the Eval monad)
- Part 2 : Immutability (Covering Immutable Objects with Lombok, withers)
- Part 3 : Functional Composition (Covering method chaining, Streams, ReactiveSeq, Flux from Reactor)
- Part 4 : No nulls allowed (Covering class design, Optional, eager / lazy / reactive Option types, Mono from Reactor)
- Part 5 : No exceptions (Covering making illegal states unrepresentable, eager / lazy Either type, Try)
- Part 6 : No locks or synchronized blocks (Covering Future, Sequence, FutureStreams and reactive-streams)
- Part 7 : Immutable Collections (Covering Vector, NonEmptyList and reactive processing)
Cyclops is licensed under the Apache 2.0 license.