Displaying 1 to 20 from 64 results

functional-programming-jargon - Jargon from the functional programming world in simple terms!

  •    Javascript

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. The number of arguments a function takes. From words like unary, binary, ternary, etc. This word has the distinction of being composed of two suffixes, "-ary" and "-ity." Addition, for example, takes two arguments, and so it is defined as a binary function or a function with an arity of two. Such a function may sometimes be called "dyadic" by people who prefer Greek roots to Latin. Likewise, a function that takes a variable number of arguments is called "variadic," whereas a binary function must be given two and only two arguments, currying and partial application notwithstanding (see below).

scalajs-react - Facebook's React on Scala.JS

  •    Scala

Lifts Facebook's React library into Scala.js and endeavours to make it as type-safe and Scala-friendly as possible. Provides (opt-in) support for pure functional programming, with additional modules for Scalaz, Cats, and Monocle.

shapeless - Generic programming for Scala

  •    Scala

shapeless is a type class and dependent type based generic programming library for Scala. It had its origins in several talks by Miles Sabin (@milessabin), given over the course of 2011, on implementing scrap your boilerplate and higher rank polymorphism in Scala. Since then it has evolved from being a resolutely experimental project into library which, while still testing the limits of what's possible in Scala, is being used widely in production systems wherever there are arities to be abstracted over and boilerplate to be scrapped. There is a wide variety of projects which use shapeless in one way or another ... see the incomplete list of projects for ideas and inspiration. If you are using shapeless and your project isn't listed yet, please add it.

fs2 - Compositional, streaming I/O library for Scala

  •    Scala

This will construct a F[Unit], converter, which reads lines incrementally from testdata/fahrenheit.txt, skipping blank lines and commented lines. It then parses temperatures in degrees Fahrenheit, converts these to Celsius, UTF-8 encodes the output, and writes incrementally to testdata/celsius.txt, using constant memory. The input and output files will be closed upon normal termination or if exceptions occur. At the end it's saying that the effect F will be of type cats.effect.IO and then it's possible to invoke unsafeRunSync(). You can choose a different effect type or your own as long as it implements cats.effect.Sync.

crocks - A collection of well known Algebraic Data Types for your utter enjoyment.

  •    Javascript

crocks is a collection of popular Algebraic Data Types (ADTs) that are all the rage in functional programming. You have heard of things like Maybe and Either and heck maybe even IO, that is what these are. The main goal of crocks is to curate and provide not only a common interface between each type (where possible of course), but also provide all of the helper functions needed to hit the ground running. There are many options to use crocks to suit the needs of your, projects. When used on the backend or in an environment where size is not a big concern, the entire lib can be brought in and the various elements can be either be plucked off of or referenced by the namespace.

frameless - Expressive types for Spark.

  •    Scala

Note that while Frameless is still getting off the ground, it is very possible that breaking changes will be made for at least the next few versions. The Frameless project and contributors support the Typelevel Code of Conduct and want all its associated channels (e.g. GitHub, Gitter) to be a safe and friendly environment for contributing and learning.

graphql-lodash - 🛠 Data manipulation for GraphQL queries with lodash syntax

  •    TypeScript

GraphQL allows to ask for what you need and get exactly that. But what about the shape? GraphQL Lodash gives you the power of lodash right inside your GraphQL Query using @_ directive. Note: This is an experimental project created to explore the concept of Query and transformation collocation.

rambda - Faster alternative to Ramda in just 10kB

  •    Javascript

Currenly Rambda is more tree-shakable than Ramda as you can see in this tree-shaking example. Rambda is generally more performant than Ramda as the benchmarks can prove that.

funfix - Functional Programming Library for JavaScript, TypeScript and Flow ✨⚡️

  •    TypeScript

Funfix is a library of type classes and data types for Functional Programming in JavaScript, TypeScript and Flow. Inspired by Scala, Cats and Monix.

cats-effect - The IO monad for Scala

  •    Scala

For when purity just isn't impure enough. In this way, IO is more similar to common Task implementations than it is to the classic scalaz.effect.IO or even Haskell's IO, both of which are purely synchronous in nature. As Haskell's runtime uses green threading, a synchronous IO (and the requisite thread blocking) makes a lot of sense. With Scala though, we're either on a runtime with native threads (the JVM) or only a single thread (JavaScript), meaning that asynchronous effects are every bit as important as synchronous ones.


  •    Javascript

fn.js is a JavaScript library built to encourage a functional programming style & strategy. View the documentation and introduction.

frunk - Funktional generic programming in Rust: HList, Coproduct, Generic, LabelledGeneric, Validated, Monoid and friends

  •    Rust

Statically typed heterogeneous lists. You can pluck a type out of an HList using pluck(), which also gives you back the remainder after plucking that type out. This method is checked at compile-time to make sure that the type you ask for can be extracted.

cats-infographic - typeclass diagram for cats


This is version for cats 1.1.0, cats-effect 0.10, and cats-mtl 0.2.3. This is an OmniGraffle 7 diagram of the Cats typeclass hierarchy, shareable under the CC-BY-SA 4.0 license.

enso - Minimal data flow loop for async applications.

  •    Javascript

Minimal data flow loop for async JavaScript applications: web apps, bots, servers, etc. Enso allows to eliminate the state and implement unidirectional data flow. Enso has just 2 API methods and stupid simply inside. However, it provides solid foundation for an application of any scale using just couple abstractions.

fun-task - Abstraction for managing asynchronous code in JS

  •    Javascript

An abstraction for managing asynchronous code in JS.* The name is an abbreviation for "functional task" (this library is based on many ideas from Functional Programming). The type that library implements is usually referred to in the documentation as just "Task".

autodux - Automate the Redux boilerplate.

  •    Javascript

Automate the Redux boilerplate.This library is ready for production testing. Please check it out and file any issues you encounter.

fasy - FP iterator helpers that are async/generator aware

  •    Javascript

fasy (/ˈfāsē/) is a utility library of FP array iteration helpers (like map(..), filter(..), etc), as well as composition and transducing. What's different from other FP libraries is that its methods are capable of operating asynchronously, via async function functions and/or function* generators. fasy supports both concurrent and serial asynchrony.