-
Notifications
You must be signed in to change notification settings - Fork 135
Home
John McClean edited this page Jul 5, 2018
·
247 revisions
This is a work in progress. For cyclops-react 2 wiki see here
Add cyclops X as a dependency to your project
compile 'com.oath.cyclops:cyclops:x.y.z'
The cyclops.data package contains a range of persistent (immutable shared memory) collections.
- Seq - a persistent linked list
- NonEmptyList - a persistent linked list with a least one value
- LazySeq - a lazy persistent linked list (like Stream in Scala or Vavr)
- IntMap - a persistent 'arraylist' type list backed by a PatriciaTrie
- Vector - a persistent 'arraylist' type list backed by a bit mapped array trie
- LazyString
- HList
- Zipper
- DifferenceList
- HashSet
- TrieSet
- Bag
- TreeSet
- BankersQueue
- HashMap
- LinkedMap
- TreeMap
- DMap
- Range - represents an unconstrained generic (T) range of values
- Enumeration - represents an unconstrained reversible path through a generic (T) sequence of values
- DIET - Discrete Interval Encoded Tree
- Option : a safe optional API
- Maybe : a lazy and potentially reactive (asynchronous) optional type
- Either : a sum type representing one of two values
- Eval : a lazily evaluated expression, with built in memoization and stack-safe recursion (implemented via Trampoline)
- Try : a type-safe either/sum type that represents a success state or Exceptional state (for a more direct / powerful equivalent of Scala's Try see cyclops.reactive.IO)
- Validated : an either / sum type that represents Valid and Invalid states, Invalid states can be accumulated
- Unrestricted : a simplified Free Monad implementation for Java
- LazyEither/3/4/5 - a suite of lazy and potentially reactive sum types
- Ior - can be product of arity 2 (e.g. Tuple2 equivalent) with two values present or an either /sum type of arity two with only one of the defined types present.
- Future - asynchronous control type
oops - my bad