Releases: aol/cyclops-integration
v6.2.1 of Cyclops
6.2.1 Release of Cyclops
Bug Fixes
Fix for type issue in cyclops-pattern-matching thenExtract method
Getting Cyclops 6.2.1
cyclops-all has all non-integration modules, but each module can be used / added individually (subject to it's own dependencies). Instructions for each module are in it's own readme.md.
Gradle
compile 'com.aol.cyclops:cyclops-all:6.2.1'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>6.2.1</version>
</dependency>
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-sequence-api/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-streams/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-api/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-functions/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-mixins/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-invokedynamic/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/6.2.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/6.2.1
v6.1.1 of Cyclops :enhanced List & Set Monad support
6.1.1 Release of Cyclops
Better support for java.util.List and java.util.Set
Bug Fixes
Fix for flatMap does not work as expected with ListComprehender
Performance enhancements
List and Set comprehenders now using Streams under the covers for efficiency, but look like Lists and Sets externally (unwrap returns a List if AnyM wraps a List).
Usability enhancements
AsAnyM has been deprecated in favor of the creational methods on AnyM itself (fromXX and ofXX). They will be removed in cyclops 7.0.0
e.g.
To ensure Lists or Sets are used :-
AnyM<Integer> list = AnyM.fromList(Arrays.asList(1,2,3));
assertThat(list.unwrap(),instanceOf(List.class));
AnyM<Integer> set = AnyM.fromSet(new HashSet<>(Arrays.asList(1,2,3)));
assertThat(set.unwrap(),instanceOf(Set.class));
## Getting Cyclops 6.1.1
cyclops-all has all non-integration modules, but each module can be used / added individually (subject to it's own dependencies). Instructions for each module are in it's own readme.md.
## Gradle
compile 'com.aol.cyclops:cyclops-all:6.1.1'
## Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>6.1.1</version>
</dependency>
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-sequence-api/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-streams/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-api/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-functions/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-mixins/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-invokedynamic/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/6.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/6.1.1
v6.1.0 of Cyclops : List & Set Comprehenders, AnyM enhancements & reactive-streams for Javaslang
6.1.0 Release of Cyclops
Additional Comprehenders
New comprehenders to natively add filter, flatMap and map methods
- List Comprehender
- Set Comprehender
These comprehenders are less efficient than first converting the provided Collections to Streams, but ensure that the wrapped type inside AnyM remains List or Set.
To ensure Lists or Sets are used :-
AnyM<Integer> list = AsAnyM.anyMList(Arrays.asList(1,2,3));
assertThat(list.unwrap(),instanceOf(List.class));
AnyM<Integer> set = AsAnyM.anyMSet(new HashSet<>(Arrays.asList(1,2,3)));
assertThat(set.unwrap(),instanceOf(Set.class));
To convert Lists or Sets to Streams
nyM<Integer> stream = AsAnyM.anyMIterable(Arrays.asList(1,2,3);
assertThat(list.unwrap(),instanceOf(Stream.class));
nyM<Integer> stream = AnyM.ofConvertable(Arrays.asList(1,2,3);
assertThat(list.unwrap(),instanceOf(Stream.class));
Javaslang reactive-streams
Javaslang reactive-streams support
- reactive-streams publisher for Javaslang Traversables
- reactive-streams subscriber that returns a Javaslang Stream
cyclops-javaslang provides a reactive-stream publisher and reactive-streams subscriber implementation for Javaslang Traversables.
Subscribe to a javaslang Stream
CyclopsSubscriber<Integer> subscriber =SequenceM.subscriber();
Stream<Integer> stream = Stream.of(1,2,3);
JavaslangReactiveStreamsPublisher.ofSync(stream)
.subscribe(subscriber);
subscriber.sequenceM()
.forEach(System.out::println);
Publish to a javaslang Stream
SequenceM<Integer> publisher =SequenceM.of(1,2,3);
JavaslangReactiveStreamsSubscriber<Integer> subscriber = new JavaslangReactiveStreamsSubscriber<>();
publisher.subscribe(subscriber);
Stream<Integer> stream = subscriber.getStream();
stream.forEach(System.out::println);
AnyM creational enhancements
public static AnyM<Integer> fromRange(int start, int end)
public static <T> AnyM<T> fromStream(Stream<T> stream)
public static AnyM<Integer> fromIntStream(IntStream stream)
public static AnyM<Double> fromDoubleStream(DoubleStream stream)
public static AnyM<Long> fromLongStream(LongStream stream)
public static <T> AnyM<T> fromOptional(Optional<T> optional)
public static AnyM<Double> fromOptional(OptionalDouble optional)
public static AnyM<Long> fromOptional(OptionalLong optional)
public static AnyM<Integer> fromOptional(OptionalInt optional)
public static <T> AnyM<T> fromCompletableFuture(CompletableFuture<T> future)
public static <T> AnyM<T> fromCollection(Collection<T> collection)
public static <T> AnyM<T> fromIterable(Iterable<T> iterable)
public static AnyM<String> fromFile(File file)
public static AnyM<String> fromURL(URL url)
public static <T> AnyM<T> ofConvertable(Object monad)
public static <T> AnyM<T> ofMonad(Object monad)
public static <T> AnyM<T> ofNullable(Object monad)
Getting Cyclops 6.1.0
cyclops-all has all non-integration modules, but each module can be used / added individually (subject to it's own dependencies). Instructions for each module are in it's own readme.md.
Gradle
compile 'com.aol.cyclops:cyclops-all:6.1.0'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>6.1.0</version>
</dependency>
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-sequence-api/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-streams/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-api/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-functions/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-mixins/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-invokedynamic/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/6.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/6.1.0
v6.0.4 of Cyclops : AnyM.unit bug fix
6.0.4 Release of Cyclops
AnyM.unit bug fix
Getting Cyclops 6.0.4
cyclops-all has all non-integration modules, but each module can be used / added individually (subject to it's own dependencies). Instructions for each module are in it's own readme.md.
Gradle
compile 'com.aol.cyclops:cyclops-all:6.0.4'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>6.0.4</version>
</dependency>
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-sequence-api/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-streams/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-api/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-functions/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-mixins/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-invokedynamic/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/6.0.4
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/6.0.4
v6.0.3 of Cyclops
6.0.3 Release of Cyclops
cyclops-invoke-dynamic
Make Exception Softener easier to use. Thanks to @awturner. See PR and StackOverflow Conversation.
throw ExceptionSoftener.softenedException(new IOException("checked exception, but no declaration required!"));
cyclops-javaslang
Javaslang version built against upgraded to 2.0.0-beta
cyclops-guava
Guava version built against upgraded to 19.0-rc2
Getting Cyclops 6.0.3
cyclops-all has all non-integration modules, but each module can be used / added individually (subject to it's own dependencies). Instructions for each module are in it's own readme.md.
Gradle
compile 'com.aol.cyclops:cyclops-all:6.0.3'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>6.0.3</version>
</dependency>
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-sequence-api/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-streams/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-api/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-functions/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-mixins/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-invokedynamic/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/6.0.3
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/6.0.3
v6.0.2 of Cyclops
6.0.2 Release of Cyclops
cyclops-streams
Bug fix to AsStreamable.syncrhonizedFromStream(stream) - lazily constructs a replayable Stream in a thread safe manner.
Getting Cyclops 6.0.2
cyclops-all has all non-integration modules, but each module can be used / added individually (subject to it's own dependencies). Instructions for each module are in it's own readme.md.
Gradle
compile 'com.aol.cyclops:cyclops-all:6.0.2'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>6.0.2</version>
</dependency>
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-sequence-api/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-streams/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-api/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-functions/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-mixins/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-invokedynamic/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/6.0.2
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/6.0.2
v6.0.1 of Cyclops Released
6.0.1 Release of Cyclops
cyclops-streams
New cyclops-streams top-level module. SequenceM extends java.util.stream.Stream and jool.Seq and adds even more functionality including :-
- Failure handling (recover / retry)
- windowing / batching (by time, size, state, predicate)
- zipping
- HotStreams
- reactive-streams - publisher and subscriber support via simple-react v0.99.3
- Asynchronous execution
- Stream manipulation - insert/At, deleteAt
- Frequency management (xPer, onePer, jitter, debounce)
- Efficient reversal
- StreamUtils - static methods for java.util.stream.Streams
- Streamables - efficient / lazy replayable Streams as java.util.stream.Stream or SequenceM
cyclops-validation
New cyclops-validation module. Functional validation with accumulate, accumulateUntilFail and FunctionalJava integration
Configurable Memoization
feature
Users can now plug their own cache implementations into Memoize
Simplify Pattern Matching
feature
Pattern matching split into three modules
cyclops-pattern-matching
cyclops-pattern-matching-collections
cyclops-pattern-matching-recursive
cyclops-closures
Create primitive versions of Mutable feature
Getting Cyclops 6.0.1
cyclops-all has all non-integration modules, but each module can be used / added individually (subject to it's own dependencies). Instructions for each module are in it's own readme.md.
Gradle
compile 'com.aol.cyclops:cyclops-all:6.0.1'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>6.0.1</version>
</dependency>
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-sequence-api/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-streams/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-api/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-monad-functions/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-mixins/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-invokedynamic/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/6.0.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/6.0.1
v5.1.1 of Cyclops
5.1 Release of Cyclops
Summary
For Comprehension operator overloading collision issue fixed
Simplification of SequenceM cross type flatMaps
Getting Cyclops 5.1.1
cyclops-all has all non-integration modules.
Gradle
compile 'com.aol.cyclops:cyclops-all:5.1.1'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>5.1.1</version>
</dependency>
Javadoc
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-base/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/5.1.1
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/5.1.1
5.1.0
5.1 Release of Cyclops
Summary
Stream enhancements : new operators for
- SequenceM (now extends Stream!) : http://static.javadoc.io/com.aol.cyclops/cyclops-base/5.1.0/com/aol/cyclops/lambda/monads/SequenceM.html [may have to wait for download]
- StreamUtils : http://static.javadoc.io/com.aol.cyclops/cyclops-base/5.1.0/com/aol/cyclops/streams/StreamUtils.html
Including toLazyCollection, duplicate(), zip3, zip4, deleteFrom, insertAt, appendStream, prependStream and more!
Support for Lazy Streamables.
Integration enhancements
- FunctionalJava Module - support for FJ monads such as Option, Either, List, Stream, Reader, Writer, IO, State
- Javaslang Module - support for Javaslang Monads such as Option, Either, Try, List, Stream
- Guava Module - support for Guava monads such as FluentIterable, Guava Optional upscaled to monad!
Performance enhancements
For Comprehensions
Fix for cyclops-all issue
Fix for Lambda issue
Getting Cyclops 5.1
cyclops-all has all non-integration modules.
Gradle
compile 'com.aol.cyclops:cyclops-all:5.1.0'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-all</artifactId>
<version>5.0.0</version>
</dependency>
Release features / issues & pull requests
Create Functional Java Integration Module : aol/cyclops#11
Create Guava Integration module : aol/cyclops#49
Remove Lambda Character : aol/cyclops#47
Comprehensions performance : aol/cyclops#44 & aol/cyclops#43
StreamUtils enhancements : aol/cyclops#40
Additional SequenceM operators : aol/cyclops#36
AnyM creational methods for Try / Feature Toggle : aol/cyclops#39
Fix for Cyclops-all dependency issue : aol/cyclops#48
Javadoc
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-base/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-javaslang/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functionaljava/5.1.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-guava/5.1.0
v5.0.0 Better Type Safety for Monads and Comprehensions
Cyclops v5.0.0
Better Monad Typing
Cyclops 5 introduces a strongly typed For Comprehension builder
Stream<Double> s = Do.add(Stream.of(10.00,5.00,100.30))
.withStream(d->Stream.of(2.0))
.yield( base -> bonus-> base*(1.0+bonus)).unwrap();
And a Strongly typed abstraction over Any Monad type (AnyM)
List<Integer> list = anyM(Stream.of(asList(1,3)))
.flatMap(c->anyM(c.stream()))
.asSequence()
.map(i->i*2)
.peek(System.out::println)
.collect(Collectors.toList());
As well as the ability to convert back and forward between a Sequence and generic Monad wrapper
assertThat( anyM(Optional.of(20))
.asSequence()
.flatMapCollection(i->Arrays.asList(1,2,i) )
.toList(),
equalTo(Arrays.asList(1,2,20)));
Add skipWhile, skipUntil, limitWhile, limitUntil to StreamUtils
Comprehender for LazySeq
Move Monad to internal package in Cyclops Base
Remove Scala-like for comprehension syntax
Improve type safety of Monads & For Comprehensions
Rename enable switch to Feature toggle
Create AnyM and SequenceM classes
Use Ascii chars for method names
Create a cyclops-all module
More strongly typed for comprehensions
AnyM become primary Monad wrapper
Pattern Matching
Create static methods for partial application of functions / method refs
Adding Cyclops as A Dependency
Get Cyclops-Base, For Comprehensions, Pattern Matching in a bundle via Cyclops Core, or all modules via Cyclops All
Maven for All
com.aol.cyclops cyclops-all 5.0.0Gradle For All
compile 'com.aol.cyclops:cyclops-all:5.0.0'
Gradle
compile 'com.aol.cyclops:cyclops-base:5.0.0'
compile 'com.aol.cyclops:cyclops-for-comprehensions:5.0.0'
compile 'com.aol.cyclops:pattern-matching:5.0.0'
compile 'com.aol.cyclops:cyclops-functions:5.0.0'
compile 'com.aol.cyclops:cyclops-trampoline:5.0.0'
compile 'com.aol.cyclops:enable-switch:5.0.0'
compile 'com.aol.cyclops:cyclops-power-tuples:5.0.0'
compile 'com.aol.cyclops:cyclops-core:5.0.0'
compile 'com.aol.cyclops:cyclops-feature-toggle:5.0.0'
compile 'com.aol.cyclops:cyclops-try:5.0.0'
Maven
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-base</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-for-comprehensions</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>pattern-matching</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-functions</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-try</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-trampoline</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-feature-toggle</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-functions</artifactId>
<version>5.0.0</version>
<dependency>
<groupId>com.aol.cyclops</groupId>
<artifactId>cyclops-power-tuples</artifactId>
<version>5.0.0</version>
Javadoc
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-base/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-for-comprehensions/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-functions/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-try/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/pattern-matching/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-trampoline/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-feature-toggle/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-core/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-power-tuples/5.0.0
http://www.javadoc.io/doc/com.aol.cyclops/cyclops-all/5.0.0