All Projects → briancavalier → Forgefx

briancavalier / Forgefx

Algebraic effects and handlers using generators

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Forgefx

Pfun
Functional, composable, asynchronous, type-safe Python.
Stars: ✭ 75 (+29.31%)
Mutual labels:  async, effects
Aiomultiprocess
Take a modern Python codebase to the next level of performance.
Stars: ✭ 1,070 (+1744.83%)
Mutual labels:  async
Vibe.d
Official vibe.d development
Stars: ✭ 1,043 (+1698.28%)
Mutual labels:  async
Compojure Api
Sweet web apis with Compojure & Swagger
Stars: ✭ 1,056 (+1720.69%)
Mutual labels:  async
Before After Hook
wrap methods with before/after hooks
Stars: ✭ 49 (-15.52%)
Mutual labels:  async
Recloser
A concurrent circuit breaker implemented with ring buffers
Stars: ✭ 51 (-12.07%)
Mutual labels:  async
Cvdm.errorhandling
[DEPRECATED, use FsToolkit.ErrorHandling] AsyncResult and Result computation expressions and helper functions for error handling in F#
Stars: ✭ 47 (-18.97%)
Mutual labels:  async
Postgres
Async Postgres client for PHP based on Amp.
Stars: ✭ 56 (-3.45%)
Mutual labels:  async
Channelstream
Channelstream is a websocket communication server for web applications
Stars: ✭ 52 (-10.34%)
Mutual labels:  async
Phproutine
PHProutine is goroutines emulation in PHP
Stars: ✭ 50 (-13.79%)
Mutual labels:  async
Protobuffer
A simple wrapper library for protobuf-net with async, gzip and less boilerplate.
Stars: ✭ 50 (-13.79%)
Mutual labels:  async
Android Scratchoutview
高仿刮奖效果的View 可以设置刮开多少比例范围 自动显现 - Scratch card effect view , and can set the scraping what percentage range automatically displayed below ui
Stars: ✭ 49 (-15.52%)
Mutual labels:  effects
Esp32modbustcp
Modbus client for ESP32
Stars: ✭ 51 (-12.07%)
Mutual labels:  async
Rackula
Generate a static site from any rack middleware.
Stars: ✭ 49 (-15.52%)
Mutual labels:  async
Retc
An application used to convert razer effects to multiple output sdks.
Stars: ✭ 54 (-6.9%)
Mutual labels:  effects
Emacs Async Await
Async/Await for Emacs
Stars: ✭ 47 (-18.97%)
Mutual labels:  async
Lax.js
Simple & lightweight (<4kb gzipped) vanilla JavaScript library to create smooth & beautiful animations when you scroll.
Stars: ✭ 8,274 (+14165.52%)
Mutual labels:  effects
Aiodine
🧪 Async-first Python dependency injection library
Stars: ✭ 51 (-12.07%)
Mutual labels:  async
Ea Async
EA Async implements async-await methods in the JVM.
Stars: ✭ 1,085 (+1770.69%)
Mutual labels:  async
Rust Webapp Starter
Rust single page webapp written in actix-web with vuejs.
Stars: ✭ 56 (-3.45%)
Mutual labels:  async

Composable effects

This is an experiment with composable effects and effectful programs. It's basically algebraic effects and handlers, using generators as the underlying implementation of continuations.

Try it

node -r @babel/register ./examples/delay

node -r @babel/register ./examples/async-problem/index ./examples/async-problem/input

Check out more examples

Highlights

  • Separation of effect interfaces and implementations: program with interfaces, supply effect implementations when running programs.
  • Composable effects: create new effects from existing ones.
  • Composable programs: yield * can be used to compose effectful programs.
  • Asynchronous effects with cancelation.

Inspiration

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].