Successfully reported this slideshow.
Supercharged
Java 8
“
Create a platform that offers the
power as Scala, but as easy to
use as Java.
“
Extend the JDK
Reuse JDK Interfaces
Support reactive-streams
Build cross-library abstractions
1
reactive-streams
A standard for interoperability
“
Provides a mechanism for
integrating data publishers and
subscribers.
All cyclops-react data structures
support reactive...
Cross Project
Example
2
Collection
Extensions
Extend the JDK
“
Provide a more powerful stream-
like interface into Java
Collections.
Transform a Java
List
Transform ListX
Group a SetX
Schedule Work
3
Persistent
Collection
Extensions
Extend the JDK & pCollections
“
Persistent collections are efficient
immutable collections. New
versions are created with plus /
minus ops.
Add to a List
(and some other stuff)
Remove from a
List
4
ReactiveSeq
Extend the JDK,
support reactive-streams
“
A powerful engine for
sequential Streaming.
Implements reactive-streams,
supports asynchronous
streaming.
ForEachX
Generator
sequence
5
Stream Source
Extend the JDK,
support reactive-streams
“
An engine for pushing data into
Streams.
Pushing to a
Stream
6
FutureStreams
Extend the JDK,
support reactive-streams
“
Asynchronous streaming -
perfect for I/O.
Concurrent I/O
Why?
7
Data Types
More power to your elbow
Eval
Lazy or immediate evaluation
Tail recursive
Maybe
Lazy evaluation
Tail recursive
Applicative or monad
XoreXclusive Or
Useful for validation
8
Pattern Matching
Exhaustive option checking
“
Objects have a composition
structure (an algebra!)
Pattern matching occurs against
that structure.
Visitor
Matchables
Predicates
9
Transformers
Robots in disguise!
“
Transformers allow nested
objects to be manipulated.
E.g. A stream of lists can be
manipulated by a List
Transformer as ...
Nested List
ListT
Thanks!
Any questions?
You can find me at @cyclops_aol & john.mcclean@teamaol.com
Prochain SlideShare
Chargement dans…5
×

Supercharged java 8 : with cyclops-react

14 929 vues

Publié le

Overview of the rationale behind cyclops-react and some of it's features, including extended Java Collections, more powerful Sequential and Parallel Streaming, pattern matching, data types (such as Xor cyclops-react Either type, Maybe, Eval).

Publié dans : Technologie
  • Soyez le premier à commenter

Supercharged java 8 : with cyclops-react

  1. 1. Supercharged Java 8
  2. 2. “ Create a platform that offers the power as Scala, but as easy to use as Java.
  3. 3. “ Extend the JDK Reuse JDK Interfaces Support reactive-streams Build cross-library abstractions
  4. 4. 1 reactive-streams A standard for interoperability
  5. 5. “ Provides a mechanism for integrating data publishers and subscribers. All cyclops-react data structures support reactive-streams.
  6. 6. Cross Project Example
  7. 7. 2 Collection Extensions Extend the JDK
  8. 8. “ Provide a more powerful stream- like interface into Java Collections.
  9. 9. Transform a Java List
  10. 10. Transform ListX
  11. 11. Group a SetX
  12. 12. Schedule Work
  13. 13. 3 Persistent Collection Extensions Extend the JDK & pCollections
  14. 14. “ Persistent collections are efficient immutable collections. New versions are created with plus / minus ops.
  15. 15. Add to a List (and some other stuff)
  16. 16. Remove from a List
  17. 17. 4 ReactiveSeq Extend the JDK, support reactive-streams
  18. 18. “ A powerful engine for sequential Streaming. Implements reactive-streams, supports asynchronous streaming.
  19. 19. ForEachX
  20. 20. Generator sequence
  21. 21. 5 Stream Source Extend the JDK, support reactive-streams
  22. 22. “ An engine for pushing data into Streams.
  23. 23. Pushing to a Stream
  24. 24. 6 FutureStreams Extend the JDK, support reactive-streams
  25. 25. “ Asynchronous streaming - perfect for I/O.
  26. 26. Concurrent I/O
  27. 27. Why?
  28. 28. 7 Data Types More power to your elbow
  29. 29. Eval Lazy or immediate evaluation Tail recursive
  30. 30. Maybe Lazy evaluation Tail recursive Applicative or monad
  31. 31. XoreXclusive Or Useful for validation
  32. 32. 8 Pattern Matching Exhaustive option checking
  33. 33. “ Objects have a composition structure (an algebra!) Pattern matching occurs against that structure.
  34. 34. Visitor
  35. 35. Matchables
  36. 36. Predicates
  37. 37. 9 Transformers Robots in disguise!
  38. 38. “ Transformers allow nested objects to be manipulated. E.g. A stream of lists can be manipulated by a List Transformer as if it were just a single List.
  39. 39. Nested List
  40. 40. ListT
  41. 41. Thanks! Any questions? You can find me at @cyclops_aol & john.mcclean@teamaol.com

×