Skip to content
0:00 / 0:00

#clojure#missionary#functionalreactiveprogramming

Functional effect and streaming systems in Clojure - Léo Noel - reClojure 2021

London Clojurians

3.9K subscribers • 52 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Léo Noel

Advanced. Deep dive for people who know the field.

4.5K views4 years ago1 recommendation

Programming languagesDistributed systemsLisp and ClojureConcurrency and parallelismKafka and stream processing

Léo Noel explores pure functional streaming in Clojure using the Missionary library to handle backpressured streams and reactive systems.

Functional Effect and Streaming Systems in Clojure By Léo Noel Functional reactive systems have historically struggled to find real-world applications. However, advances in pure functional programming have revealed new applications and styles including not just discrete event streams, but also continuous-time signal processing, thus partially reinventing FRP. Missionary is a mature library that brings a functional approach to streaming, designed for clojure/script from the ground up and leveraging the full power of lisp metaprogramming in an expressive dialect, freed from the monad abstraction. In this talk, we're going to explore the benefits of this paradigm, what clojure can provide in this area and how it fits in the existing landscape. We'll cover various use cases through this lens, from basic RPC to backpressured streaming and complex reactive systems.

Why it's here

1 person recommends this

Moments people linked to

u/dustingetzin r/Clojure • Recommends

Functional effect and streaming systems in Clojure - Léo Noel - reClojure 2021

u/dustingetzin r/Clojure • Recommends

Functional effect and streaming systems in Clojure - Léo Noel - reClojure 2021

u/dustingetzin r/Clojure • Mentions

On “IO/async monad without the indirect monadic style: Possible? needed?”

https://github.com/leonoel/missionary is a reactive programming & structured concurrency DSL with excellent syntax, it uses a macro to turn regular looking clojure sexprs into do-notation for async tasks, streams and signals Functional effect and streaming systems in Clojure - Léo Noel - reClojure 2021 hyperfiddle/photon takes this idea further, it turns clojure itself into a reactive programming language, specialized for fullstack web applications / user interfaces. it implements the clojure/script analyser to lift actual clojure syntax, including all clojure special forms, into a reactive computation that is competitive with React.js or Solid.js. In photon, since everything is lifted,…
5View on Reddit

u/dustingetzin r/Clojure • Mentions

On “What if clojure was created now?”

We should sit down sometime and go through Missionary together. The difference between immutable object statefully updated, and imperative maintenance of mutable object, matters a lot less once you have the power of a functional effect system to manage the load/unload lifecycle of any resource/effect (such as loading a namespace, and transparently unloading it when the ns spec changes, and cascading that unload call recursively through a supervision tree or dag). So for example, "copying 600 references to a new object" seems not so different from how Electric Clojure manages the DOM by orchestrating hundreds of fine-grained dom mutations. The resources—in your case, each individual mutatio…

u/dustingetzin r/Clojure • Mentions

On “London Clojurians Talk: A functional approach to massively concurrent application design (by Léo Noel)”

Leo's previous talk, Functional effect and streaming systems in Clojure - Léo Noel - reClojure 2021 (youtube video( link to this video