Skip to content

Releases: aol/cyclops-integration

v6.2.1 of Cyclops

27 Nov 14:08
Compare
Choose a tag to compare

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

13 Nov 14:53
Compare
Choose a tag to compare

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

12 Nov 23:05
Compare
Choose a tag to compare

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

03 Nov 11:34
Compare
Choose a tag to compare

6.0.4 Release of Cyclops

AnyM.unit bug fix

aol/cyclops#61

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

29 Oct 21:16
Compare
Choose a tag to compare

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

21 Sep 14:54
Compare
Choose a tag to compare

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

15 Sep 20:28
Compare
Choose a tag to compare

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.0

28 Jul 15:57
Compare
Choose a tag to compare

5.1 Release of Cyclops

Summary

Stream enhancements : new operators for

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

03 Jul 12:53
Compare
Choose a tag to compare

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.0

Gradle 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>
com.aol.cyclops cyclops-all 5.0.0

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