Decided to give #PhpStorm a try for my #IDE now that I'm getting back into #PHP #development . So far I like what I see. I'll ditch #VSCode for now.
#Coding #Scripting #Async #Fibers #CooperativeMultitasking #Revolt #EventLoop
Decided to give #PhpStorm a try for my #IDE now that I'm getting back into #PHP #development . So far I like what I see. I'll ditch #VSCode for now.
#Coding #Scripting #Async #Fibers #CooperativeMultitasking #Revolt #EventLoop
#ReleaseThursday As promised, a new version of https://thi.ng/fibers is out now and includes several new fiber operators/combinators and all the essentials for channel-based communication between processes/fibers (aka #CSP). The CSP channel supports arbitrary buffer sizes & implementations to achieve a range of blocking/non-blocking behaviors for reads/writes. And because all channel ops (read/write/close) are fiber-based, they can also be combined with all the other available operators, enabling some pretty powerful and expressive usage patterns...
More demos & tutorial forthcoming. Check the readme, API docs & examples and please report back with any feedback/questions/suggestions...
π«Άπ
After some friendly inquiry by @computersandblues, I spent a few hours today adding basic CSP (#CommunicatingSequentialProcesses) primitives for https://thi.ng/fibers and writing some preliminary documentation. I'm amazed how simple (and easy!) it was this time around (compared to https://thi.ng/csp) and it's giving me big hopes for the fiber based approach in general...
Readme section:
https://github.com/thi-ng/umbrella/blob/develop/packages/fibers/README.md#csp-primitives-communicating-sequential-processes
2-channel ping/pong example:
https://github.com/thi-ng/umbrella/blob/develop/packages/fibers/README.md#csp-pingpong-example
Source code & doc strings:
https://github.com/thi-ng/umbrella/blob/develop/packages/fibers/src/csp.ts
#ThingUmbrella #TypeScript #Coroutines #CSP #CooperativeMultitasking