Displaying 1 to 14 from 14 results

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.

Mach7 - Functional programming style pattern-matching library for C++

  •    C++

Pattern matching is an abstraction mechanism that can greatly simplify source code. Commonly, pattern matching is built into a language to provide better syntax, faster code, correctness guarantees and improved diagnostics. Mach7 is a library solution to pattern matching in C++ that maintains many of these features. All the patterns in Mach7 are user-definable, can be stored in variables, passed among functions, and allow the use of open class hierarchies. Next example demonstrates that the library can deal efficiently and in a type-safe manner with non-polymorphic classes like boost::variant as well.

static-land - Specification for common algebraic structures in JavaScript based on Fantasy Land

  •    Javascript

This is a specification for common algebraic structures in JavaScript based on Fantasy Land.Fantasy Land uses methods to define interfaces that a type must implement in order to support a particular Algebra. For example values of a type that implements the Monoid algebra must have fantasy-land/empty and fantasy-land/concat methods on them.

plank - A tool for generating immutable model objects

  •    Swift

Plank is a command-line tool for generating robust immutable Objective-C models from JSON Schemas. It will save you time writing boilerplate and eliminate model errors as your application scales in complexity. Models are defined in JSON, a well-defined, extensible and language-independent specification.




union-type - A small JavaScript library for defining and using union types.

  •    Javascript

A small JavaScript library for defining and using union types. Union types are a way to group different values together. You can think of them as a powerful form of enums with the possibility to have additional data associated with the possible values.

adt-simple - Algebraic data types for JavaScript using Sweet.js macros

  •    Javascript

adt-simple exports a data macro for creating simple data constructors. It also exports a union macro for grouping your constructors.

tsoption - Correct, easy to use Option type for TypeScript. 🦄

  •    TypeScript

Correct, easy to use Option type for TypeScript. Like Scala options; see the introductory blog post. Note: You can use JavaScript instead of TypeScript, but it's not as fun.


algorithm - The repository algorithms implemented on the Go

  •    CSS

This project is licensed under MIT license. Please read the LICENSE file. Welcomes any kind of contribution. Please read the CONTRIBUTING, ISSUE TEMPLATE and CODE_OF_CONDUCT file.

RemoteDataK - Algebraic data type (ADT) to represent the state of data that is loading from/to remote sources/destinations

  •    Kotlin

RemoteData is useful to represent the state of data, when it is loading from/to a remote source/destination. Using RemoteData is pretty straightforward, it is however meant to be used in a functional style.

TypeProps - Small library for describing HKTs in TypeScript

  •    TypeScript

This library is still in alpha mode, expect breaking changes for now. What's currently needed is lots of interaction with people trying to type complex examples. Feel free to join us at Gitter or to post issues on the repository with sample code. This repository contains a lot of examples to show you how things work. Unfortunately, for usability purposes, the library is a little lenient in some places and too strict in others, so there's a razor thin edge when defining overly abstract types (like, say, a Monad HKT). Write lots of tests to make sure the type you wrote is behaving correctly. TypeProps tends to handle quite nicely for exactly the right type, even offering very good inference and assignment, but sometimes it requires some gentle love to get there.

elixir_fun_land - Algebraic Data Types for Elixir: Both functional and fun.

  •    Elixir

FunLand adds Behaviours to define Algebraic Data Types ('Container' data types) to Elixir, including many helpful operations with them. Where applicable, an ADT implementation for Elixir's built-in types like Lists, Maps, Strings and Functions are included. FunLand is based on ideas of the Fantasy Land JavaScript specification for Algebraic Data Types, as well as the implementations of ADTs in other languages, such as Haskell and Idris.

ADTConvert - The ADTConverter can convert the World of Warcraft ADT Format form LK(3

  •    CSharp

The ADTConverter can convert the World of Warcraft ADT Format form LK(3.3.5) to WoD(6.x.x)

apropos - Fast strong typed 'Either' data structure for typescript and flow

  •    Javascript

Create pure left-handed value, right-handed type is empty. Create right-handed value, left-handed type is inferred from usage. Technically, Right returns the same as of; the difference is only in the type inference.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.