Fast purely functional datastructures (Vector, Seq / List, LazySeq / LazyList, NonEmptyList, HashSet, TreeSet, TrieSet, HashMap, LinkedMap, MultiMap, TreeMap, BankersQueue, LazyString, Discrete Interval Encoded Tree, Zipper, Range, Tree, DifferenceList, HList, Dependent Map). Structural Pattern Matching API (deconstruct algebraic product and sum types). Improved type safety via the removal of unsafe APIs -- E.g. Unlike Optional, Option has no get method (which could throw a null pointer) -- New data structures do not support operations that would throw exceptions (you can't call head on an empty list for example). Eager and Lazy alternatives for most datastructures (Option is eager, Maybe is lazy + reactive). Improved naming of types (Function1-8 rather than Fn1-8, Either not Xor). Group id is changed to com.oath.cyclops. Versioning between cyclops-react and cyclops is merged on cyclops versioning scheme (version 10 = Cyclops X).
Features
- Light weight dependencies
- JVM Polyglot Higher Kinded Types Support with KindedJ
- Reactive-streams API, KindedJ & Agrona
- Eager and Lazy alternatives for most datastructures
- Persistent data structures and control types
- Parallel asynchronous streaming