Bend offers the feel and features of expressive languages like Python and Haskell. This includes fast object allocations, full support for higher-order functions with closures, unrestricted recursion, and even continuations.
Global
Nixpkgs is a collection of over 140,000 software packages that can be installed with the Nix package manager. It also implements NixOS, a purely-functional Linux distribution.
Effect is a library for building robust, maintainable, type-safe, and production grade applications in TypeScript. It helps you handle the hard problems at scale: typed errors, dependency injection, structured concurrency, scheduling, tracing, and unified schema validation.
js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀
You are viewing a browseable version, split by category in many small files. There is also a really huge file with every single resource on one page. Proceed to the totally gigantic file if you are into this kind of thing.
org: the forever free, adless and open source chess server ♞
Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.
Define your contract with Schema, supply infrastructure with Layers, and call auth alongside your other Effects. The same contract connects your server to an Effect HttpClient service and Effect Atom queries and mutations.
Software engineering principles, from Robert C. Martin's book Clean Code, adapted for JavaScript. This is not a style guide.
A simple cross-platform C++ library for terminal based user interfaces!
Recognized by GitHub as one of the top open source projects of 2018!
🔥️ NEW: date-fns v4.0 with first-class time zone support is out!
A practical functional library for JavaScript programmers.
Functional programming (FP) provides many advantages, and its popularity has been increasing as a result. However, each programming paradigm comes with its own unique jargon and FP is no exception. By providing a glossary, we hope to make learning FP easier.
Unison is a statically-typed functional language with type inference, an effect system, and advanced tooling.
A modern JavaScript utility library delivering modularity, performance, & extras.
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
Elixir is a programming language designed for building scalable and maintainable applications.
This is a book on the functional paradigm in general. We'll use the world's most popular functional programming language: JavaScript. Some may feel this is a poor choice as it's against the grain of the current culture which, at the moment, feels predominately imperative.
Another important resource is the Reactiflux community on Discord, which has chat channels dedicated to discussion of React, Redux, and other related technologies.
This book is a balanced, pragmatic look at FP in JavaScript. The first edition is now complete. Read here online for free, or:
Erlang is a programming language and runtime system for building massively scalable soft real-time systems with requirements on high availability.
The building workflow requires Nix. After installing Nix, you need to enable the upcoming "flake" feature which must be enabled manually the time being. This is needed to expose the new Nix commands and flakes support that are hidden behind feature-flags.
📢 Important Announcement: fp-ts is Joining the Effect-TS Ecosystem!
Resilience4j is a fault tolerance library designed for Java8 and functional programming
Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
0-rc2, Mathlib, and Lake. With elan installed, fetch the mathlib cache and build the formalizations with:
Imp is a full port of DSPy to the BEAM. You describe what each language-model step takes and returns, choose how it thinks, and let an optimizer improve it against examples of what good looks like.
Immutable data cannot be changed once created, leading to much simpler application development, no defensive copying, and enabling advanced memoization and change detection techniques with simple logic.
) without extending any core JavaScript objects.