This is an Opinionated functional library that implements some aspects of Functional paradigms, which suppose to increase productivity and add to GoLang the missing beauty of functional programming which I have always longed for.
The Library is still WIP while the entirety of the features is not yet finalized, below is the list of basic Primitives that is currently supported or would be supported in the future, for Detailed Support list please go through the code :D
The Library will Include Mutable
and Immutable
counterpart collections such as Array | Slice | Map | Set
-
Options
Some | None
along with all theMonadic Operations
-
Either
Left | Right
along with allMonadic Operations
-
-
EmptyIter
Next | HasNext | Count | Size
-
RangeIter
Next | HasNext | Count | Size | FromSlice | ToSlice | Fold | FoldLeft | Map | Reduce | Filter | Foreach | Slice | Take | Drop | Contains |Clone
-
SliceIter
Next | HasNext | Count | Size | FromSlice | ToSlice | Fold | FoldLeft | Map | Reduce | Filter | Foreach | Slice | Take | Drop | Contains |Clone
-
MapIter
Next | HasNext | Count | Size | FromMap | ToMap | Fold | FoldLeft | Map | Reduce | FilterByKey | FilterByValue | Foreach | ContainsKey | ContainsValue | GroupByValue | Clone
-
-
List
Size | Head | Tail | Append | Prepend | Split | reverse | At | AppendList | PrependList | Concat | String | Find | Map | Filter | Reduce | FoldLeft | ToSlice | FromSlice | Find
-
Mutable | Immutable Set
Iter | Foreach | Union | Intersect | Add | Remove | Diff | Clone | ToSlice | Map | FlatMap | Flatten | Fold | Reduce | Zip | Filter | Add | Remove
-
Mutable | Immutable Array applies to
Slices | Arrays
with the following OperationsIter | Foreach | Map | FlatMap | Flatten | Fold | Reduce | Zip | ZipWithIndex | Filter | GroupBy | Head | Tail | AddAtIndex | Append | Prepend | ToMap | Clone
-
Mutable | Immutable Map applies to
Maps
with the following OperationsIter | Foreach | Map | FlatMap | Flatten | Fold | Reduce | ToSlice | Clone