Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Manifold basics in a nutshell.pdf

Manifold basics in a nutshell.pdf

Manifold is a great library created by Zach Tellman. It provides a very powerful toolkit for asynchronous programming in Clojure. This tech talk is a high-level overview of manifolds main abstractions with examples of common use cases.

Max Vovchuk

October 18, 2018
Tweet

Other Decks in Programming

Transcript

  1. What is manifold? Manifold provides basic building blocks for asynchronous

    programming, and can be used as a translation layer between libraries which use similar but incompatible abstractions.
  2. Manifolds main abstractions • deferred - represents a single asynchronous

    value. • stream - represents an ordered sequence of asynchronous values.
  3. What is Dirigiste? Dirigiste provides a fast, richly instrumented version

    of a java.util.concurrent.ExecutorService, and provides a means to feed that instrumentation into a control mechanism that can grow or shrink the pool as needed. Default implementations that optimize the pool size for thread utilization are provided.
  4. Useful links: Zach Tellmans GH - https://github.com/ztellman/ Manifold rationale -

    https://aleph.io/manifold/rationale.html Manifold docs - https://aleph.io/codox/manifold/index.html Aleph docs - https://aleph.io/ Dirigiste - https://github.com/ztellman/dirigiste “Everything Will Flow” ZT talk - https://youtu.be/1bNOO3xxMc0
  5. Outro: - Clojure is cool (don’t be afraid to use

    it). - Manifold is a pretty simple while efficient tool to write asynchronous code.