All Projects β†’ ritesh404 β†’ kudojs

ritesh404 / kudojs

Licence: MIT license
A utility library to write code in functional programming style in Javascript

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to kudojs

cpsfy
πŸš€ Tiny goodies for Continuation-Passing-Style functions, fully tested
Stars: ✭ 58 (+163.64%)
Mutual labels:  composition, functor, applicative
Crocks
A collection of well known Algebraic Data Types for your utter enjoyment.
Stars: ✭ 1,501 (+6722.73%)
Mutual labels:  composition, functor, curry
functional-structures-refactoring-kata
Starting code and proposed solution for Functional Structures Refactoring Kata
Stars: ✭ 31 (+40.91%)
Mutual labels:  composition, functor, applicative
Language Ext
C# functional language extensions - a base class library for functional programming
Stars: ✭ 3,964 (+17918.18%)
Mutual labels:  monads, functor, applicative
Mostly Adequate Guide Chinese
ε‡½ζ•°εΌηΌ–η¨‹ζŒ‡εŒ—δΈ­ζ–‡η‰ˆ
Stars: ✭ 2,093 (+9413.64%)
Mutual labels:  functor, curry, functional-js
Swiftz-Validation
A data structure for validations. It implements the applicative functor interface
Stars: ✭ 15 (-31.82%)
Mutual labels:  functor, applicative
function-composition-cheatsheet
Composition of Functions
Stars: ✭ 24 (+9.09%)
Mutual labels:  composition, functor
invokable
Objects are functions! Treat any Object or Class as a Proc (like Enumerable but for Procs).
Stars: ✭ 40 (+81.82%)
Mutual labels:  composition, curry
Bow
🏹 Bow is a cross-platform library for Typed Functional Programming in Swift
Stars: ✭ 538 (+2345.45%)
Mutual labels:  composition, functor
Swift Monad Maybe Reader And Try
Proof of concept: Maybe, Reader and Try monad
Stars: ✭ 159 (+622.73%)
Mutual labels:  monads, functor
fpEs
Functional Programming for EcmaScript(Javascript)
Stars: ✭ 40 (+81.82%)
Mutual labels:  monads, curry
Pipetools
Functional plumbing for Python
Stars: ✭ 143 (+550%)
Mutual labels:  monads, composition
J-Curry
A Java library that enables applying Functional Programming concepts like currying and partial application for functions, also it supports types like Either, Try, etc... using RxJava 2 interfaces, compatible with Java 7 and above
Stars: ✭ 17 (-22.73%)
Mutual labels:  functor, curry
elixir-control
An exploratory look into functors, applicatives, and monads for Elixir
Stars: ✭ 21 (-4.55%)
Mutual labels:  functor, applicative
konad
Monads composition API that just works. For OOP developers
Stars: ✭ 62 (+181.82%)
Mutual labels:  monads, composition
Whyhaskellmatters
In this article I try to explain why Haskell keeps being such an important language by presenting some of its most important and distinguishing features and detailing them with working code examples. The presentation aims to be self-contained and does not require any previous knowledge of the language.
Stars: ✭ 418 (+1800%)
Mutual labels:  monads, functor
Learn Fp
learn-by-doing course/tutorial for functional programming on scala
Stars: ✭ 548 (+2390.91%)
Mutual labels:  monads, functor
Fear
Ruby port of some Scala's monads
Stars: ✭ 58 (+163.64%)
Mutual labels:  monads
Mu Haskell
Mu (ΞΌ) is a purely functional framework for building micro services.
Stars: ✭ 215 (+877.27%)
Mutual labels:  monads
Purefun
Functional Programming library for Java
Stars: ✭ 37 (+68.18%)
Mutual labels:  monads

npm (scoped)


KudoJS is a small utility library with a collection of popular Algebraic Data Types and Helper functions to help you write code in a functional programming style in Javascript.

Installation

Install and save KudoJS as a dependency in your current project

$ npm install --save fp-kudojs

Import using CommonJS

const kudoJS = require("fp-kudojs") 

Import using JS Modules

import kudoJS from "fp-kudojs"

IIFE

<script src="https://github.com/path/to/kudo.iife.js"></script>

Import single entities using CommonJS

const compose = require("fp-kudojs/function/compose");
const Maybe = require("fp-kudojs/adt/Maybe");

Import single entities using JS Modules

import compose from "fp-kudojs/function/compose";
import Maybe from "fp-kudojs/adt/Maybe";

Helper Functions

These are the functions under the kudoJS.* namespace


Algebraic Data Types (ADTs)

ADTs under the kudoJS.* namespace. All of the data types are compatible with the Fantasy Land Specifications

ADT Constructors Static Methods Instance Methods
kudoJS.Identity Identity, of equals, concat,ap, getValue, map,chain, toString
kudoJS.Pair Pair, of equals, concat, fst, snd, ap, getValue, map, bimap, chain, swap, toString
kudoJS.Maybe of, Just, Nothing, zero, fromNullable, withDefault catMaybes, isNothing, isJust equals, ap, alt, map, chain, toString, getValue, isNothing, isJust
kudoJS.Either of, Left, Right, fromNullable, withDefault try, isLeft, isRight equals, ap, getValue, map, bimap, chain, swap, toString, isLeft, isRight
kudoJS.Task Task, of, rejected fork, concat, ap, getValue, map, chain, toPromise, toString
kudoJS.Reader Reader, of, ask runWith, ap, getValue, map, chain, toString
kudoJS.State State, of, get, put runWith, execWith, evalWith, ap, getValue, map, chain, toString

License

All code and documentation are (c) 2021 Ritesh Pillai and released under the MIT License. A copy of the MIT License is also included.

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].