GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - AOL-archive/cyclops: An advanced, but easy to use, platform for writing functional applications in Java 8.

BranchesTags
Open more actions menu

Latest commit

 

History

3,518 Commits
3,518 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/ISSUE_TEMPLATE
.github/ISSUE_TEMPLATE
 
 
cyclops-anym
cyclops-anym
 
 
cyclops-futurestream
cyclops-futurestream
 
 
cyclops-jackson-integration
cyclops-jackson-integration
 
 
cyclops-pure
cyclops-pure
 
 
cyclops-reactive-collections
cyclops-reactive-collections
 
 
cyclops-reactor-integration
cyclops-reactor-integration
 
 
cyclops-rxjava2-integration
cyclops-rxjava2-integration
 
 
cyclops
cyclops
 
 
gradle
gradle
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
.java-version
.java-version
 
 
.travis.yml
.travis.yml
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.gradle
build.gradle
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
license-for-derived-quartz-cronrexpression.md
license-for-derived-quartz-cronrexpression.md
 
 
settings.gradle
settings.gradle
 
 

Repository files navigation

Getting Cyclops X (10)

  • The latest version is cyclops:10.4.0

  • Stackoverflow tag cyclops-react

  • Documentation (work in progress for Cyclops X)

  • Integration modules

Tutorial :

  • Dysfunctional programming in Java : A functional tutorial

    • Part 1 : Laziness (Covering Supplier & the Eval monad)
    • Part 2 : Immutability (Covering Immutable Objects with Lombok, withers)
    • Part 3 : Functional Composition (Covering method chaining, Streams, ReactiveSeq, Flux from Reactor)
    • Part 4 : No nulls allowed (Covering class design, Optional, eager / lazy / reactive Option types, Mono from Reactor)
    • Part 5 : No exceptions (Covering making illegal states unrepresentable, eager / lazy Either type, Try)
    • Part 6 : No locks or synchronized blocks (Covering Future, Sequence, FutureStreams and reactive-streams)
    • Part 7 : Immutable Collections (Covering Vector, NonEmptyList and reactive processing)
    • Tagless Final in Java
    • A Java long read : Is functional programming worth it?

What's new in Cyclops X (cyclops 10)

cyclops-data-types

  • Fast purely functional datastructures (Vector, Seq / List, LazySeq / LazyList, NonEmptyList, HashSet, TreeSet, TrieSet, HashMap, LinkedMap, MultiMap, TreeMap, BankersQueue, LazyString, Discrete Interval Encoded Tree, Zipper, Range, Tree, DifferenceList, HList, Dependent Map )
  • Structural Pattern Matching API (deconstruct algebraic product and sum types)
  • Improved type safety via the removal of unsafe APIs -- E.g. Unlike Optional, Option has no get method (which could throw a null pointer) -- New data structures do not support operations that would throw exceptions (you can't call head on an empty list for example)
  • Eager and Lazy alternatives for most datastructures (Option is eager, Maybe is lazy + reactive)
  • Improved naming of types (Function1-8 rather than Fn1-8, Either not Xor)
  • Group id is changed to com.oath.cyclops
  • Versioning between cyclops-react and cyclops is merged on cyclops versioning scheme (version 10 = Cyclops X)
  • Light weight dependencies : reactive-streams API, KindedJ & Agrona
  • JVM Polyglot Higher Kinded Types Support with KindedJ

Modules

  • cyclops - Persistent data structures and control types
  • cyclops-futurestream - Parallel asynchronous streaming
  • cyclops-reactive-collections - Fast, non-blocking, asynchronous extensions for JDK and Persistent Collections
  • cyclops-anyM - Higher kinded abstractions for working with any Java Monad type.
  • cyclops-pure - Higher kinded type classes for pure functional programming in Java
  • cyclops-reactor-integration - Reactive collections and AnyM integrations with Reactor.
  • cyclops-rxjava2-integration - Reactive collections and AnyM integrations with Rx Java 2.
  • cyclops-jackson-integration - Jackson databindings for Cyclops persistent data structures and control types.

Gradle

where x.y.z represents the latest version

compile 'com.oath.cyclops:cyclops:x.y.z'

Maven

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops</artifactId>
    <version>x.y.z</version>
</dependency>

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

Powerful Streams and functional data types for building modern Java 8 applications. We extend JDK interfaces where possible for maximum integration.

This is the 10.x branch for 2.x branch click the link below

  • 2.x
  • 1.x

License

cyclops is licensed under the Apache 2.0 license.

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

Thanks to our Sponsors

  • YourKit Logo YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

About

An advanced, but easy to use, platform for writing functional applications in Java 8.

Topics

asynchronouscollectionsdata-structuresfunctional-programmingjavajava8monadmonad-transformersmonoidreactivereactive-streamsstreamsstreams-api

Resources

Readme

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

1.3k stars

Watchers

97 watching

Forks

134 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.