30 open-source projects similar to js-csp/js-csp, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Js Csp alternative.
ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with
This project is a technical reference and a collection of internal analysis notes focused on the Go language runtime and compiler. It provides a detailed breakdown of the language internals, covering memory management, garbage collection, and the execution model of the scheduler. The material distinguishes itself by providing deep dives into low-level system details, including a reference for Go assembly instructions, register usage, and system call interfacing. It specifically analyzes the internal implementation of concurrency primitives, such as the goroutine scheduling mechanism, channel
Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides isolated execution units that communicate via asynchronous message passing to eliminate shared mutable state. The project distinguishes itself through a distributed actor system capable of operating across multiple cluster nodes with location-transparent registries and actor state migration. It utilizes a work-stealing fiber scheduler to manage millions of lightweight threads, allowing tasks to suspend during non-blocking I/O operations without stalling underlying system threads
This project is a Go language learning guide and implementation map designed to help developers transition from Node.js to Go. It provides a series of side-by-side code comparisons that contrast identical logic implemented in both languages to illustrate syntax and runtime differences. The repository serves as a tutorial for Go concurrency, specifically comparing the use of channels and goroutines against JavaScript promises. It also includes a performance benchmarking suite to measure and compare the execution speed of Go against Node.js for the same operations. The guide covers systems pro
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Swoole is a coroutine-based concurrency library and IO framework for PHP. It provides a system for building high-performance network servers and applications by bringing asynchronous, event-driven, and coroutine-based concurrency to the PHP runtime. The project distinguishes itself by implementing user-space coroutine scheduling and non-blocking IO interception, which transforms standard blocking network and file operations into asynchronous actions. It further enables high-speed data exchange across multiple PHP processes through shared memory management and specialized data structures. The
uWebSockets is a C++ networking framework that serves as a high-performance WebSocket server library, HTTP web server, and pub-sub messaging system. It provides the infrastructure necessary to handle standard web requests and maintain low-latency, bidirectional connections between clients and servers. The framework is distinguished by its use of template meta-programming for compile-time optimization and zero-copy buffer management to minimize memory latency. It utilizes a backend-agnostic event loop and static route resolution to process network traffic with minimal runtime overhead. The pr
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Lancet is a comprehensive extension of the Go standard library, providing a collection of reusable functions and data structures designed to reduce boilerplate code in applications. It serves as a general-purpose toolkit across multiple domains, including concurrency, security, networking, and functional logic. The project distinguishes itself through specialized toolkits for Go concurrency, such as keyed locking and channel-based stream processing, and a dedicated functional programming kit that supports currying and function composition. It also includes a dedicated cryptography library imp
This project is a cross-platform C library designed for implementing MQTT messaging in applications. It serves as an asynchronous networking toolkit that enables resource-constrained systems and distributed components to exchange telemetry data and control signals with messaging brokers. The library distinguishes itself through a state-machine-based protocol handler that manages connection lifecycles and persistent session states, ensuring reliable message delivery even during intermittent network connectivity. It utilizes a background thread to manage network operations, allowing application
This project is a Java messaging software development kit designed to facilitate real-time data exchange between applications and message brokers. It functions as an MQTT client library, providing the necessary tools to implement publish-and-subscribe messaging patterns within distributed systems and internet-connected device environments. The library distinguishes itself through its focus on resilient network connectivity and reliable message delivery. It manages persistent connections through internal state machines that handle automatic reconnection and keep-alive heartbeats, ensuring stab
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Go is a statically typed, compiled programming language designed for building scalable, concurrent software. It provides a memory-safe execution environment that combines a high-performance runtime with a self-hosting compiler toolchain, enabling the creation of statically linked machine code binaries without external dependencies. The language is built around a structural type system that uses interfaces for polymorphism and a concurrency model based on lightweight, stack-based coroutines that communicate through channels. The language distinguishes itself through a runtime that features a c
koa2-note is a project focused on Koa2 web server development and Node.js asynchronous programming. It provides a framework for building web servers and APIs using an asynchronous middleware pipeline to handle request and response cycles. The project emphasizes a layered backend architecture that decouples routing, business services, and data models. It distinguishes itself through the integration of relational databases for persisting user sessions and application data, alongside a build process that includes JSX-to-JavaScript compilation for frontend assets. The capability surface covers b
This project is a comprehensive guide and set of engineering standards for writing readable, maintainable, and scalable JavaScript code. It provides a framework for software architecture, refactoring patterns, and clean coding practices designed to improve codebase health and longevity. The guide emphasizes the application of SOLID principles and architectural strategies such as dependency inversion and the separation of concerns. It focuses on transforming complex conditional logic through polymorphism and refactoring, while promoting a transition from imperative loops to declarative functio
This project is a collection of translated educational resources and documentation focused on the internal mechanics of the JavaScript language. It provides detailed guides and tutorials covering core concepts such as scope, closures, and prototypes. The materials specifically address asynchronous programming patterns, including callbacks, promises, and generators. It also provides guidelines for performance optimization through benchmarking and tuning techniques to improve code execution speed and resource efficiency. The content is delivered via a static site generated from markdown files
conc is a Go concurrency library and structured concurrency framework providing primitives for managing parallel tasks, mapping slices, and collecting results. It implements a system for spawning scoped tasks to ensure all child processes complete before their parent exits. The library includes a goroutine pool manager to limit active concurrent processes and a panic-safe task runner that catches panics in goroutines and propagates stack traces to the parent. It also provides a concurrent map-reduce tool for transforming data slices and processing streams in parallel while maintaining the ori
Borgo is a statically typed language and compiler that transforms high-level syntax into Go source code. It functions as a transpiler designed to leverage the Go runtime while introducing a type system centered on algebraic data types and result-based error handling. The language distinguishes itself by replacing Go's multiple return values with result and option types, using a dedicated operator for concise error propagation. It implements sum types with exhaustive pattern matching and provides a tool to generate bindings for existing Go packages, automatically converting multi-value returns
This project provides a set of structural templates and frameworks for bootstrapping production servers, high-performance backends, Kubernetes microservices, and AI pipelines using the Go programming language. It serves as a foundational architecture for building high-throughput infrastructure and scalable production servers with integrated routing and middleware. The framework includes a specialized infrastructure for developing retrieval-augmented generation systems, emphasizing local model inference and secure data sovereignty. It further provides a dedicated microservice template for cont
es6-promise is an ES6 promise polyfill and JavaScript compatibility layer. It provides a standardized interface for managing asynchronous flow control and background tasks in environments that lack native support for the ES6 Promise specification. The project serves as a bridge to ensure consistent asynchronous behavior across different browser engines and legacy environments. It includes utilities for global promise injection and polyfilling, which add the implementation to the global namespace for application-wide availability. The library covers the coordination of asynchronous workflows,
libaco is a low-level C library for cooperative multitasking that provides a runtime for managing asymmetric coroutines. It functions as an execution context manager and stack memory allocator, allowing a single process to initialize independent execution units with private stacks and perform manual context switching via yield operations. The library distinguishes itself through its memory management and stability features, utilizing read-only guard pages at stack boundaries to trigger hardware faults upon stack overflow. It supports both private stack allocation and shared stack pooling to r
This project is a comprehensive JavaScript programming tutorial and educational resource designed to guide learners from basic syntax to advanced language mastery. It serves as a structured instructional guide and language reference for the JavaScript standard library and its core programming concepts. The curriculum covers several specialized technical areas, including an asynchronous JavaScript guide focused on non-blocking code and a course on object-oriented programming centered on prototypes and inheritance. It also provides a dedicated learning resource for web development, focusing on
RxGo is a functional reactive programming library and an implementation of ReactiveX for the Go language. It serves as an asynchronous stream processing toolkit designed to coordinate event-based programs and data flows using the observable pattern. The library enables the construction of asynchronous processing pipelines that transform, filter, and combine event sequences. It distinguishes itself through the use of functional operators to compose these pipelines and provides mechanisms for managing concurrent execution. The toolkit covers a broad range of stream orchestration capabilities,
Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover
RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an asynchronous stream processor and event-driven coordination framework used to build data pipelines that react to changes in state or streams of events over time. The library provides a toolkit for composing asynchronous and event-based programs using observable sequences and operators. It distinguishes itself through the use of configurable schedulers to manage concurrency, timing, and subscription lifecycles. The project covers a wide range of stream processing capabilities, incl
Vs-threading is a cross-platform .NET concurrency library and utility set for C# designed to manage multithreaded workflows, coordinate concurrent tasks, and prevent deadlocks. It supplies specialized non-blocking semaphores, events, and locks alongside asynchronous counterparts for lazy initialization, event handlers, and local storage. The library provides awaitable extension methods on tasks to shift execution threads, apply timeouts, and propagate cancellation tokens. It includes mechanisms to stall the main user interface thread synchronously while waiting for background tasks to finish
This project is an ECMAScript 2015 reference guide and JavaScript language cheat sheet. It provides a concise summary of the language specifications, syntax updates, and new features introduced in the 2015 standard. The guide serves as a technical overview of modern language patterns used to manage modular code structures and asynchronous operations. It functions as a reference for implementing current coding standards and studying core updates to the language. The content covers a wide range of capabilities, including asynchronous programming, object modeling, and module management. It deta
q is a JavaScript promise library and asynchronous flow controller designed to manage non-blocking operations. It serves as a system for coordinating parallel tasks and sequencing asynchronous workflows through task chaining and error propagation. The library distinguishes itself with specialized debugging tools that capture long stack traces across asynchronous jumps and monitor unhandled rejections to prevent silent failures. It also functions as a remote object proxy, forwarding method calls to remote targets and routing responses back through promises. The project provides comprehensive
MQTTnet is a .NET library providing a framework for implementing MQTT clients and brokers. It includes a broker implementation for hosting a central message hub that routes messages between connected clients and a client library for publishing and subscribing to messages. The project supports both TCP and WebSocket transport layers, enabling secure data traffic through transport layer security. It allows for the development of custom middleware to intercept, transform, or validate messages as they pass through a server. Capability areas include distributed message routing, persistent connect
This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides reference implementations and educational examples designed to help developers master language fundamentals and prepare for technical interviews. The project covers a wide array of specialized implementations, including functional programming patterns like currying and partial application, as well as asynchronous patterns for concurrency control. It also includes practical examples of Document Object Model manipulation and the implementation of common data structures such as stacks