cyclops-react 0,1,0 travis-ci

A comprehensive functional reactive platform for JDK8

screen shot 2016-02-22 at 8 44 42 pm

Future & functional based programming via JDK compatible extensions for Java 8 and above.

Getting cyclops-react

Gradle

where x.y.z represents the latest version

compile 'com.aol.simplereact:cyclops-react:x.y.z'

Maven

<dependency>
    <groupId>com.aol.simplereact</groupId>
    <artifactId>cyclops-react</artifactId>
    <version>x.y.z</version>
</dependency>

cyclops-react-types

Features

Used in Aol to build robust, performant & scalable asynchronous systems : features include

  • Compatible extensions to JDK interfaces (Collections, Streams, Functions)

  • Built with jOOλ, reactive-streams ,Agrona and pCollections

  • Extensions for efficient JDK compatible persistent collections (pCollections)

  • FutureStreams for managing aggregates for Future Tasks (e.g. for multi-threaded execution of large numbers of I/O tasks)

  • Single-threaded asynchronous streaming

  • Scheduling of data emission

  • Powerful extended type hierarchy for aggregrations (Collections & Streams) and single values

  • Powerful functional-style control structures, implemented in Java friendly manner (Maybe, Eval, FutureW, Xor, Ior, Try, AnyM, structural & guard based pattern matching, for-comprehensions)

  • Execute functions between wrapped values (Optional / CompletableFutre etc) without tedious unwrapping (Java friendly Applicative support).

  • Java friendly abstractions for wrapping any Monad type (Stream, CompletableFuture, Optional, cyclops-react types and types from other Java projects too). AnyM and it's two subtypes AnyMSeq for aggregates (Steam, List etc) and AnyMValue for Values

  • Monad Transformers - for manipulating nesting monadic types (e.g. Optionals within a Stream as if it were just an Optional)

  • Applicatives - apply functions across wrapped types (e.g. Optional / Maybe / Xor) without unwrapping & aggregate without terminate on failure

  • Structural pattern matching & pattern matching via Guards (see Matchable and Matchables)

  • Full strength for comprehensions / generators (reference elements from other generators)

  • Tight integration with reactive-streams : collections, streams and datatypes are publishers & can be generated via subscribers

  • Very Extensible & integration with other projects via cyclops-integration modules.

Documentation

Articles

Old simple-react landing page

OSCON 2016 slides

License

cyclops-react is licensed under the Apache 2.0 license.

http://www.apache.org/licenses/LICENSE-2.0

Related Repositories

awesome-java

awesome-java

A curated list of awesome frameworks, libraries and software for the Java progra ...

cyclops

cyclops

Home of the cyclops integration modules : support for RxJava, Reactor, Functiona ...

awesome-java8

awesome-java8

Curated list of useful, if not amazing, resources that take advantage of Java 8 ...

Amazing-Java-List

Amazing-Java-List

A curated list of awesome Java frameworks, libraries, software and books ...

awesome-java

awesome-java

A curated list of awesome Java frameworks, libraries and software. ...


Top Contributors

johnmcclean-aol earlzero wyang14 The-Royal-We marcocast gitter-badger tkountis colinfkennedy Zeouterlimits dmitraver kewangie lukaseder h3xstream ramswaroop c0nscience awturner greg2001 jijisv

Releases

-   v1.0.0-RC2.2 zip tar
-   v1.0.0-RC1 zip tar
-   v0.99.7 zip tar
-   v0.99.6 zip tar
-   v0.99.5 zip tar
-   v0.99.4 zip tar
-   v0.99.3 zip tar
-   v0.99.2 zip tar
-   v0.99.1 zip tar
-   v0.99 zip tar
-   v0.98 zip tar
-   v0.97 zip tar
-   v0.95 zip tar
-   v0.86 zip tar
-   v0.85 zip tar
-   v0.84 zip tar
-   v0.82 zip tar
-   v0.81 zip tar
-   v0.80 zip tar
-   v0.70 zip tar
-   v0.60 zip tar
-   v0.41 zip tar
-   v0.5 zip tar
-   v0.4 zip tar
-   v0.3 zip tar
-   head zip tar
-   1.0.0-RC4 zip tar
-   1.0.0-RC3 zip tar
-   1.0.0-FINAL zip tar
-   0.96 zip tar