CAF: C++ Actor Framework

  • I was bored so I added CAF to pkgsrc, which you can use to install CAF on NetBSD/Linux/macOS and a variety of other Unix-ey platforms that pkgsrc supports:

    https://github.com/NetBSD/pkgsrc-wip/tree/master/actor-frame...

        git clone https://github.com/NetBSD/pkgsrc --depth 1 ~/pkgsrc  
        git clone https://github.com/NetBSD/pkgsrc-wip --depth 1 ~/pkgsrc/wip  
        cd ~/pkgsrc/bootstrap   
        ./bootstrap --unprivileged  
        cd ~/pkgsrc/wip/actor-model  
        ~/pkg/bin/bmake install    
        ~/pkg/sbin/pkg_info -L actor-model
    
    That is all.

  • > Decoupling concurrently running software components via message passing avoids race conditions by design.

    How am I supposed to read this? It's obviously not "message passing eliminates race conditions", so perhaps it's intended to say something like "you need to design the components to avoid race conditions."

  • Honestly, the source code of the examples looks rather complicated, like something that should better be generated from a nicer high-level language that has a native actor concept. (Obviously, the power of C++ templates does not come for free - you pay with noisy code and increased cognitive load.)

  • In the Docs:Overview [0], the compile and build instructions are not showing up for some reason.

    [0] https://actor-framework.readthedocs.io/en/latest/Overview.ht...

  • "Actor" architecture is supposed to enable high developer productivity but it's been a decade since the article so I wonder how it's working out? The most prominent project of which I am aware is FoundationDB.

  • If someone's got a nice actor library written in and for C, I'm all hears.

  • The activity around C++20 has gotten to the point where I’m skeptical of great libraries like this because I don’t want to learn something third-party when I might be able to use STL equivalents in just a few hundred days.