An open API service providing repository metadata for many open source software ecosystems.

GitHub topics: sum-types

JuliaDynamics/LightSumTypes.jl

Easy-to-use sum types in Julia

Language: Julia - Size: 1.32 MB - Last synced at: 2 days ago - Pushed at: 7 days ago - Stars: 54 - Forks: 2

TeaEntityLab/fpGo

Monad, Functional Programming features for Golang

Language: Go - Size: 308 KB - Last synced at: 7 days ago - Pushed at: 7 months ago - Stars: 352 - Forks: 22

dadhi/ImTools

Fast and memory-efficient immutable collections and helper data structures

Language: C# - Size: 8.22 MB - Last synced at: 9 days ago - Pushed at: 7 months ago - Stars: 240 - Forks: 10

Roger-luo/Moshi.jl

nextgen MLStyle: Generic Algebraic Data Type + Pattern Match

Language: Julia - Size: 1.61 MB - Last synced at: 15 days ago - Pushed at: 4 months ago - Stars: 83 - Forks: 5

computationalabstraction/Styp

Algebraic Sum types for JavaScript.

Language: JavaScript - Size: 1.17 MB - Last synced at: 17 days ago - Pushed at: 17 days ago - Stars: 1 - Forks: 0

hirrolot/datatype99

Algebraic data types for C99

Language: C - Size: 1.15 MB - Last synced at: 17 days ago - Pushed at: 3 months ago - Stars: 1,413 - Forks: 23

xyzsd/dichotomy

Result, Either, Try, and Maybe monadic types for Java

Language: Java - Size: 327 KB - Last synced at: about 1 month ago - Pushed at: about 1 month ago - Stars: 35 - Forks: 3

derive4j/derive4j

Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.

Language: Java - Size: 1020 KB - Last synced at: 16 days ago - Pushed at: over 2 years ago - Stars: 571 - Forks: 49

MasonProtter/SumTypes.jl

An implementation of sum types in Julia

Language: Julia - Size: 159 KB - Last synced at: 28 days ago - Pushed at: 9 months ago - Stars: 110 - Forks: 9

mknejp/dotvariant

A type-safe and space-efficient sum type for C# (comparable to discriminated unions in C or C++)

Language: C# - Size: 589 KB - Last synced at: about 2 months ago - Pushed at: 9 months ago - Stars: 71 - Forks: 3

LewisGaul/python_adt

Implementation of Alegbraic Data Types (ADTs) in Python

Language: Python - Size: 39.1 KB - Last synced at: 9 days ago - Pushed at: 4 months ago - Stars: 1 - Forks: 0

alexocode/ex_union

Tagged unions for Elixir. Just that.

Language: Elixir - Size: 101 KB - Last synced at: 4 days ago - Pushed at: about 1 year ago - Stars: 42 - Forks: 1

jspahrsummers/adt 📦

Algebraic data types for Python (experimental, not actively maintained)

Language: Python - Size: 105 KB - Last synced at: 13 days ago - Pushed at: about 4 years ago - Stars: 173 - Forks: 14

freedomlayer/built_union.dart

Dart Union class (sum type)

Language: Dart - Size: 115 KB - Last synced at: 26 days ago - Pushed at: almost 4 years ago - Stars: 7 - Forks: 4

cwahn/efp

Expressive High-Performance Eager Functional Programming Library for C++ 11

Language: C++ - Size: 959 KB - Last synced at: 2 months ago - Pushed at: 7 months ago - Stars: 49 - Forks: 1

propensive/wisteria

Easy, fast, transparent generic derivation of typeclass instances in Scala

Language: Scala - Size: 2.82 MB - Last synced at: 7 days ago - Pushed at: 4 months ago - Stars: 20 - Forks: 3

codeinred/recursive-variant

Recursive Variant: A simple library for Recursive Variant Types

Language: C++ - Size: 543 KB - Last synced at: 3 months ago - Pushed at: over 3 years ago - Stars: 82 - Forks: 5

pfpack/pfpack-core-taggeds

PrimeFuncPack Core.Taggeds is a core pack for .NET consisting of fundamental tagged types targeted for use in functional programming: Optional and Result monads, Tagged Union, as well as the convert extensions.

Language: C# - Size: 2.25 MB - Last synced at: 22 days ago - Pushed at: 22 days ago - Stars: 4 - Forks: 0

zyedidia/unionize

A tool for generating unions in Go

Language: Go - Size: 13.7 KB - Last synced at: about 2 months ago - Pushed at: over 1 year ago - Stars: 19 - Forks: 2

ephel-lang/nethra

Minimal core language based on dependent function type, pair type, recursive type, sum type and record type.

Language: OCaml - Size: 3.46 MB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 9 - Forks: 1

werediver/sum_types.dart

A code generator enabling sum-types in Dart

Language: Dart - Size: 119 KB - Last synced at: 2 months ago - Pushed at: 7 months ago - Stars: 40 - Forks: 7

hirrolot/poica 📦

A research programming language on top of C macros

Language: C - Size: 1020 KB - Last synced at: 7 months ago - Pushed at: 7 months ago - Stars: 7 - Forks: 0

cartercanedy/zips

Macros for zipping fallible operations together

Language: Rust - Size: 31.3 KB - Last synced at: 28 days ago - Pushed at: 7 months ago - Stars: 3 - Forks: 0

ntwiles/nala

A general-purpose interpreted programming language implemented in Rust.

Language: Rust - Size: 966 KB - Last synced at: 9 months ago - Pushed at: 9 months ago - Stars: 1 - Forks: 0

phenax/enum-fp

Functional Enum type / Sum type for javascript with simple pattern matching

Language: JavaScript - Size: 3.14 MB - Last synced at: 24 days ago - Pushed at: over 1 year ago - Stars: 29 - Forks: 3

twop/ts-union

ADT sum type in typescript

Language: TypeScript - Size: 1.35 MB - Last synced at: 4 days ago - Pushed at: over 2 years ago - Stars: 70 - Forks: 2

evturn/haskellbook

Solutions to exercises from the book Haskell Programming

Language: Haskell - Size: 603 KB - Last synced at: about 1 year ago - Pushed at: almost 4 years ago - Stars: 26 - Forks: 8

conjunctive/dust

Pattern matching for destructured values (core.match & spec)

Language: Clojure - Size: 5.86 KB - Last synced at: over 1 year ago - Pushed at: over 5 years ago - Stars: 6 - Forks: 0

lubieowoce/sumtype

A namedtuple-style library for defining immutable sum types in Python.

Language: Python - Size: 92.8 KB - Last synced at: 13 days ago - Pushed at: about 4 years ago - Stars: 27 - Forks: 1

toastal/either

Elm Either

Language: Elm - Size: 99.6 KB - Last synced at: 2 months ago - Pushed at: over 1 year ago - Stars: 24 - Forks: 1

moosch/fp-maths-sum-types

Sum Types in JavaScript

Language: JavaScript - Size: 1000 Bytes - Last synced at: almost 2 years ago - Pushed at: almost 6 years ago - Stars: 0 - Forks: 0

kongware/ftor

ftor enables ML-like type-directed, functional programming with Javascript including reasonable debugging.

Language: JavaScript - Size: 1.09 MB - Last synced at: about 1 year ago - Pushed at: about 7 years ago - Stars: 44 - Forks: 1

algebraicdb/algebraicdb

[early-wip]A Relational Database Management System with Support for Algebraic Data Types

Language: Rust - Size: 567 KB - Last synced at: 6 months ago - Pushed at: almost 5 years ago - Stars: 13 - Forks: 0

Kinrany/ts-sum-types 📦

Algebraic sum types for TypeScript, designed after Rust's enums

Language: TypeScript - Size: 27.3 KB - Last synced at: 5 days ago - Pushed at: almost 6 years ago - Stars: 0 - Forks: 0

nabond251/dotnet-sealed-unions

.NET port of Francisco (Paco) Estévez's JavaSealedUnions (https://github.com/pakoito/JavaSealedUnions).

Language: C# - Size: 83 KB - Last synced at: about 2 years ago - Pushed at: about 2 years ago - Stars: 0 - Forks: 0

colomboe/java-fp

Utilities and conventions for functional domain modelling in Java

Language: Java - Size: 23.4 KB - Last synced at: almost 2 years ago - Pushed at: over 4 years ago - Stars: 2 - Forks: 1

mchakravarty/goalsapp

Track periodic goals — a sample iPhone app

Language: Swift - Size: 67.4 KB - Last synced at: about 2 months ago - Pushed at: almost 7 years ago - Stars: 27 - Forks: 3

toastal/select-prism

Use a Monocle Prism to handle <select> conflict between ADTs and Strings

Language: Elm - Size: 18.6 KB - Last synced at: 2 months ago - Pushed at: almost 4 years ago - Stars: 6 - Forks: 1

alecmocatta/sum

General-purpose sum types.

Language: Rust - Size: 48.8 KB - Last synced at: about 2 months ago - Pushed at: about 4 years ago - Stars: 1 - Forks: 2

alexander-bzikadze/sum_error

[Rust] Libro with a derive macro for summing error types

Language: Rust - Size: 10.7 KB - Last synced at: 19 days ago - Pushed at: over 5 years ago - Stars: 0 - Forks: 0

mchakravarty/fp-in-swift

Support material for "Functional Programming in Swift" @ Functional Conf, Bangalore, 2017

Language: Swift - Size: 37.8 MB - Last synced at: about 2 months ago - Pushed at: over 7 years ago - Stars: 7 - Forks: 0