All Projects → gigobyte → Purify

gigobyte / Purify

Licence: isc
Functional programming library for TypeScript - https://gigobyte.github.io/purify/

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Purify

Static Land
Specification for common algebraic structures in JavaScript based on Fantasy Land
Stars: ✭ 699 (-17.08%)
Mutual labels:  monad, algebraic-data-types, functor, functional-programming
Lambda
Functional patterns for Java
Stars: ✭ 737 (-12.57%)
Mutual labels:  monad, algebraic-data-types, functor, functional-programming
Mostly Adequate Guide Chinese
函数式编程指北中文版
Stars: ✭ 2,093 (+148.28%)
Mutual labels:  monad, functor, functional-programming
Functionaljava
Functional programming in Java
Stars: ✭ 1,472 (+74.61%)
Mutual labels:  monad, algebraic-data-types, functional-programming
Functional Examples
Examples with Functional JavaScript, following Professor Frisby's course
Stars: ✭ 179 (-78.77%)
Mutual labels:  monad, functor, functional-programming
Language Ext
C# functional language extensions - a base class library for functional programming
Stars: ✭ 3,964 (+370.23%)
Mutual labels:  monad, functor, functional-programming
Witchcraft
Monads and other dark magic for Elixir
Stars: ✭ 864 (+2.49%)
Mutual labels:  monad, algebraic-data-types, functor
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 (-50.42%)
Mutual labels:  algebraic-data-types, functor, functional-programming
Scriptum
A fool's scriptum on functional programming
Stars: ✭ 346 (-58.96%)
Mutual labels:  monad, algebraic-data-types, functional-programming
Funcadelic.js
Functional programming and category theory for everyday JavaScript development
Stars: ✭ 183 (-78.29%)
Mutual labels:  monad, functor, functional-programming
Learn Fp
learn-by-doing course/tutorial for functional programming on scala
Stars: ✭ 548 (-34.99%)
Mutual labels:  monad, functor, functional-programming
Fluture
🦋 Fantasy Land compliant (monadic) alternative to Promises
Stars: ✭ 2,249 (+166.79%)
Mutual labels:  monad, algebraic-data-types, functional-programming
Bow
🏹 Bow is a cross-platform library for Typed Functional Programming in Swift
Stars: ✭ 538 (-36.18%)
Mutual labels:  monad, functor, functional-programming
Fp Core.rs
A library for functional programming in Rust
Stars: ✭ 772 (-8.42%)
Mutual labels:  monad, functor, functional-programming
Magic In Ten Mins
十分钟魔法练习
Stars: ✭ 327 (-61.21%)
Mutual labels:  monad, functional-programming
Fp Resources
Functional programming great resources
Stars: ✭ 369 (-56.23%)
Mutual labels:  monad, functional-programming
Monio
Async-capable IO monad for JS
Stars: ✭ 311 (-63.11%)
Mutual labels:  monad, functional-programming
Fun Task
Abstraction for managing asynchronous code in JS
Stars: ✭ 363 (-56.94%)
Mutual labels:  monad, functional-programming
Kotlin Result
A multiplatform Result monad for modelling success or failure operations.
Stars: ✭ 369 (-56.23%)
Mutual labels:  monad, functional-programming
Dry Monads
Useful, common monads in idiomatic Ruby
Stars: ✭ 453 (-46.26%)
Mutual labels:  monad, functional-programming

Purify logo

Build Status Coverage Status Built with Typescript

What is purify?

Purify is a library for functional programming in TypeScript. Its purpose is to allow developers to use popular patterns and abstractions that are available in most functional languages. It is also Fantasy Land conformant.

Core values

  • Elegant and developer-friendly API - purify's design decisions are made with developer experience in mind. Purify doesn't try to change how you write TypeScript, instead it provides useful tools for making your code easier to read and maintain without resolving to hacks or scary type definitions.

  • Type-safety - While purify can be used in vanilla JavaScript, it's entirely written with TypeScript and type safety in mind. While TypeScript does a great job at preventing runtime errors, purify goes a step further and provides utility functions for working with native objects like arrays in a type-safe manner.

  • Emphasis on practical code - Higher-kinded types and other type-level features would be great additions to this library, but as of right now they don't have reasonable implementations in TypeScript. Purify focuses on being a library that you can include in any TypeScript project and favors instance methods instead of functions, clean and readable type definitions instead of advanced type features and a curated API instead of trying to port over another language's standard library.

How to start?

Purify is available as a package on npm. You can install it with a package manager of your choice:

$ npm install purify-ts

or

$ yarn add purify-ts

Documentation

You can find the documentation on the official site.

Ecosystem

Inspired by

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