antonmi

antonmi

Flowex - Flow-Based Programming framework

Dear alchemists!

I wanna start a topic about Flowex library here!

Flowex is a Flow-Based Programming framework for Elixir.
If you have never heard about the library I would recommend you read the library Readme and this post on Medium.
If you are familiar with Flowex check the latest version, the library has been improved significantly since the first release.

Recently I’ve published post Flow-Based REST API with Flowex and Plug which has an example of designing approach with FBP paradigm and benchmarks that shed some light on Elixir GenStage performance.

So, check it out, share your thoughts and ask questions.

Most Liked

OvermindDL1

OvermindDL1

I’m curious, if there can only be one error_pipe :error_handler and its order does not matter, why not add it as an option to use Flowex.Pipeline like use Flowex.Pipeline error_pipe: :error_handler or even as a full argument to make it more explicit?

Cool design overall!

antonmi

antonmi

You are welcome!
Thank you for the issue which makes Flowex better!

antonmi

antonmi

Hi, @synthslave!
Your analogy is very interesting. I can imagine two ways of using Flowex that can be interpreted in musician way):

  1. There are several pipelines, one for each instrument. IPs (informational packets) are the notes. You pass the notes to these pipelines and they are played in parallel.
  2. There is one pipeline where each component is a note. And each component consists of several processes. IPs are the instruments. You pass the instruments into to pipeline and enjoy music.
    It sounds cool, but the main problem in both cases - how to synchronize all the instruments. BEAM VM under the hood does not evaluate all the processes in parallel, but frequently switch between them. You can’t be sure that all the notes are played simultaniously. So, in both cases, you need a mechanism of synchronization.
    The good news is that a real program is not a music and it is ok if some parts are not synced well.
    And I agree with you that FBP is very convienient approach to right software.

Thank you!

Last Post!

antonmi

antonmi

Hi @synthslave!
Thanks for the information.
Yeap, know about J Paul Morrison and have read his excellent book “Flow-Based Programming”, but haven’t communicated with him.

Where Next?

Popular in Announcing Top

Qqwy
Hello everyone, I wrote a small library today called MapDiff. It returns a map listing the (smallest amount of) changes to get from map...
New
OvermindDL1
Been making an MLElixir thing (not released yet…) for fun in spare time in the past day. I’m just trying to see how much I can get an ML...
132 14410 106
New
danschultzer
In short Plug n’ play OAuth 2.0 provider library. Just set up a resource owner schema with Ecto (your user schema), install the dependen...
New
pkrawat1
Hey guyz We at @aviabird are working on a payment library in elixir/phoenix. We are targeting March 2018 to add 56 Gateways to it. Have...
New
kip
Image is an image processing library for Elixir. It is based upon the fabulous vix library that provides a libvips wrapper for Elixir. I...
622 19610 194
New
brainlid
LangChain is short for Language Chain. An LLM, or Large Language Model, is the “Language” part. This library makes it easier for Elixir a...
New
bluzky
You may know https://ui.shadcn.com/, a UI component library for React. I really love it’s design style and components. I’ve built some co...
384 14721 119
New

Other popular topics Top

lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

We're in Beta

About us Mission Statement