Projects in Awesome Lists tagged with algebraic-data-types
A curated list of projects in awesome lists tagged with algebraic-data-types .
https://github.com/gcanti/fp-ts
Functional programming in TypeScript
algebraic-data-types functional-programming typescript
Last synced: 09 Sep 2025
https://gcanti.github.io/fp-ts/
Functional programming in TypeScript
algebraic-data-types functional-programming typescript
Last synced: 08 Apr 2025
https://github.com/fluture-js/fluture
๐ฆ Fantasy Land compliant (monadic) alternative to Promises
algebraic-data-types async cancellation control-flow fantasy-land fluture functional-programming future monad promise sanctuary
Last synced: 13 May 2025
https://github.com/fluture-js/Fluture
๐ฆ Fantasy Land compliant (monadic) alternative to Promises
algebraic-data-types async cancellation control-flow fantasy-land fluture functional-programming future monad promise sanctuary
Last synced: 16 Mar 2025
https://github.com/origamitower/folktale
[not actively maintained!] A standard library for functional programming in JavaScript
algebraic-data-types functional javascript
Last synced: 23 Mar 2025
https://github.com/functionaljava/functionaljava
Functional programming in Java
algebra algebraic-data-types effects functional-programming java monad monoid optics persistent-data-structure property-based-testing
Last synced: 13 Apr 2025
https://github.com/gigobyte/purify
Functional programming library for TypeScript - https://gigobyte.github.io/purify/
algebraic-data-types codec decode either fantasy-land functional-programming functor maybe monad option-type result-type typescript
Last synced: 13 May 2025
https://github.com/enkimute/ganja.js
:triangular_ruler: Javascript Geometric Algebra Generator for Javascript, c++, c#, rust, python. (with operator overloading and algebraic literals) -
algebraic-data-types clifford-algebras complex-numbers cplusplus csharp geometric-algebra javascript operator-overloading python quaternion-algebra rust
Last synced: 15 May 2025
https://gigobyte.github.io/purify/
Functional programming library for TypeScript - https://gigobyte.github.io/purify/
algebraic-data-types codec decode either fantasy-land functional-programming functor maybe monad option-type result-type typescript
Last synced: 02 Sep 2025
https://github.com/Hirrolot/datatype99
Algebraic data types for C99
adt algebraic algebraic-data-types c99 derive introspection metalang99 metaprogramming pattern-matching reflection-library sum-types tagged-unions type-system variant
Last synced: 10 Jul 2025
https://github.com/hirrolot/datatype99
Algebraic data types for C99
adt algebraic algebraic-data-types c99 derive introspection metalang99 metaprogramming pattern-matching reflection-library sum-types tagged-unions type-system variant
Last synced: 15 May 2025
https://github.com/solodon4/mach7
Functional programming style pattern-matching library for C++
adt algebraic-data-types pattern pattern-matching variant visitor visitor-pattern
Last synced: 16 May 2025
https://github.com/solodon4/Mach7
Functional programming style pattern-matching library for C++
adt algebraic-data-types pattern pattern-matching variant visitor visitor-pattern
Last synced: 15 Mar 2025
https://github.com/witchcrafters/witchcraft
Monads and other dark magic for Elixir
algebra algebraic-data-types applicative category elixir functor monad operators traversable type-class
Last synced: 05 Oct 2025
https://github.com/palatable/lambda
Functional patterns for Java
algebraic-data-types bifunctors coproduct either functional-programming functor hlist io-monad java lambda lenses maybe-monad monad monoid optics profunctors semigroup traversable try-monad tuples
Last synced: 09 Jul 2025
https://github.com/fantasyland/static-land
Specification for common algebraic structures in JavaScript based on Fantasy Land
adt algebra algebraic algebraic-data-types fantasy-land functional-programming functor monad monoid specification static-land
Last synced: 04 Apr 2025
https://github.com/stepchowfun/typical
Data interchange with algebraic data types.
algebraic-data-types data-interchange idl interface-definition-language interface-description-language serialization type-safety types
Last synced: 14 May 2025
https://github.com/derive4j/derive4j
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.
algebra algebraic-data-types annotation-processor catamorphisms derive4j discriminated-unions exhaustiveness-checking fold functional-programming java java-8 laziness optics sum-types tagged-unions visitor visitor-pattern
Last synced: 12 Apr 2025
https://github.com/breandan/kotlingrad
๐งฉ Shape-Safe Symbolic Differentiation with Algebraic Data Types
algebraic-data-types array-programming automatic-differentiation chinese computer-algebra differentiable-programming gradient-descent kotlin linear-algebra message-passing multi-stage-programming optimization shape-safety symbolic-differentiation types
Last synced: 15 May 2025
https://github.com/adam-mcdaniel/sage
A programming language that's wise beyond its bytes!๐ฑ๐ฟ๐ชด
algebraic-data-types c compiler frontend mobile pattern-matching polymorphism portable rust structural-typing turing-tarpit wasm web x86-64
Last synced: 08 Apr 2025
https://github.com/thma/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.
algebraic-data-types anonymous-functions declarative-programming explicit-side-effects first-class-functions foldable folding function-composition functional-programming functor haskell higher-order-functions lazy-evaluation list-comprehension mapping monads partial-application pattern-matching polymorphic-types type-classes
Last synced: 05 Apr 2025
https://github.com/thma/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.
algebraic-data-types anonymous-functions declarative-programming explicit-side-effects first-class-functions foldable folding function-composition functional-programming functor haskell higher-order-functions lazy-evaluation list-comprehension mapping monads partial-application pattern-matching polymorphic-types type-classes
Last synced: 30 Apr 2025
https://github.com/thautwarm/mlstyle.jl
Julia functional programming infrastructures and metaprogramming facilities
algebraic-data-types pattern-matching scalability statically-generated syntax-sugar
Last synced: 16 May 2025
https://github.com/witchcrafters/algae
Bootstrapped algebraic data types for Elixir
adt algebraic-data-types data-structures dsl
Last synced: 16 May 2025
https://github.com/devexperts/remote-data-ts
RemoteData type
algebraic-data-types fp-ts functional-programming typescript
Last synced: 28 Mar 2025
https://github.com/vic/expat
Reusable, composable patterns across Elixir libraries
algebraic-data-types composable-patterns elixir guards macros named-patterns pattern-matching patterns union-types
Last synced: 06 Apr 2025
https://github.com/jspahrsummers/adt
Algebraic data types for Python (experimental, not actively maintained)
algebraic-data-types python3 sum-types tagged-unions
Last synced: 06 Apr 2025
https://github.com/stylewarning/cl-algebraic-data-type
Algebraic data types in Common Lisp
algebraic-data-types common-lisp functional-programming
Last synced: 06 Jan 2026
https://github.com/fogfish/datum
pure functional and generic programming for Erlang
algebraic-data-types category-pattern data-structures erlang foldable generic-programming lenses monads streams traversable
Last synced: 08 Oct 2025
https://github.com/jasonkuhrt/alge
Type safe library for creating Algebraic Data Types (ADTs) in TypeScript. ๐ฑ
adt algebraic-data-types data typescript
Last synced: 16 May 2025
https://github.com/functionalland/functional
Common Functional Programming Algebraic data types for JavaScript that is compatible with most modern browsers and Deno.
algebraic-data-types browser catamorphism category-theory deno denoland either either-monad fold functional functional-programming functor io-monad maybe maybe-monad monoid task task-monad
Last synced: 10 Apr 2025
https://github.com/masonprotter/sumtypes.jl
An implementation of sum types in Julia
algebraic-data-types disjoint-unions enumeration enums julia pattern-matching sum-types
Last synced: 09 Apr 2025
https://github.com/gcanti/fp-ts-codegen
TypeScript code generation from a haskell-like syntax for ADT. Playground:
algebraic-data-types fp-ts typescript
Last synced: 03 Jul 2025
https://github.com/roger-luo/moshi.jl
nextgen MLStyle: Generic Algebraic Data Type + Pattern Match
algebraic-data-types julia pattern-matching sum-types
Last synced: 10 Oct 2025
https://github.com/blackhole89/macros
A more powerful C/C++ preprocessor.
algebraic-data-types c cplusplus haskell macros preprocessor
Last synced: 28 Sep 2025
https://github.com/PoslavskySV/rings
Rings: efficient JVM library for polynomial rings
algebra algebraic-calculations algebraic-data-types commutative-algebra factorization finite-fields groebner-basis mathematics multivariate-polynomials polynomial-arithmetic polynomials
Last synced: 13 May 2025
https://github.com/mknejp/dotvariant
A type-safe and space-efficient sum type for C# (comparable to discriminated unions in C or C++)
algebraic-data-types csharp csharp-sourcegenerator discriminated-unions functional sum-types union variant
Last synced: 17 Apr 2025
https://github.com/qqwy/elixir-fun_land
Algebraic Data Types for Elixir: Both functional and fun.
adt algebraic-data-types elixir elixir-lang fun-land monad
Last synced: 12 Dec 2025
https://github.com/fluture-js/momi
Monadic middleware
algebraic-data-types fluture middleware monad
Last synced: 26 Jul 2025
https://github.com/cyrus-/typy
A fragmentary bidirectional type system as a Python library
algebraic-data-types functional-language pattern-matching programming-language python
Last synced: 15 Sep 2025
https://github.com/alexsasharegan/safe-types
Type safe utils inspired from the Rust language for writing better TypeScript/Flow.
algebraic-data-types combinatorics flow javascript monad rust safety typescript
Last synced: 08 Sep 2025
https://github.com/fogfish/golem
pure functional and generic programming for Go
algebraic-data-types functional-programming golang golang-generics
Last synced: 10 Apr 2025
https://github.com/mercari/remotedatak
Algebraic data type (ADT) to represent the state of data that is loading from/to remote sources/destinations
adt algebraic-data-types android functional-programming java kotlin kotlin-android kotlin-library remote-data remotedata
Last synced: 09 May 2025
https://github.com/werediver/sum_types.dart
A code generator enabling sum-types in Dart
algebraic-data-types code-generation dart flutter sum-types
Last synced: 24 Oct 2025
https://github.com/usethesource/vallang
Generic immutable recursive data representation API targeted at source code models and more.
algebraic-data-types biginteger database functional graphs library maps rational-numbers relational-algebra serialization sets
Last synced: 12 Aug 2025
https://github.com/xyzsd/dichotomy
Result, Either, Try, and Maybe monadic types for Java
adt algebraic-data-types either either-monad error-handling java jdk jvm maybe-monad monads railway-oriented-programming result result-monad result-type sealed-class sum-types try try-monad types
Last synced: 26 Jul 2025
https://github.com/libmir/mir-core
Base software building blocks: Algebraic types (aka sumtype/tagged union/variant), universal reflection API, basic math, and more.
algebraic-data-types mir tagged-unions
Last synced: 22 Jun 2025
https://github.com/mmottl/aifad
AIFAD - Automated Induction of Functions over Algebraic Data Types
algebraic-data-types decision-trees machine-learning ocaml
Last synced: 28 Oct 2025
https://github.com/vitorluizc/bitty
๐ A mono-repository with functional programming helpers, algebraic data types, util functions, types and even some micro frameworks in TypeScript.
algebraic-data-types animation functional-programming maybe types typescript
Last synced: 07 Oct 2025
https://github.com/phenax/enum-fp
Functional Enum type / Sum type for javascript with simple pattern matching
algebraic-data-types enum functional-programming js sum-types
Last synced: 14 Apr 2025
https://github.com/ocramz/heidi
heidi : tidy data in Haskell
algebraic-data-types data-analysis data-mining data-science dataframe dataframe-library dataframes generic-programming generics tidy-data
Last synced: 14 Apr 2025
https://github.com/davidmarne/dart_meta_types
a code gen solution for defining sealed classes, data classes, and enum classes for dart.
algebraic-data-types dart dartlang data-class flutter union-types value-types
Last synced: 21 Sep 2025
https://github.com/facile-it/mutoid
Reactive library for data fetching, caching, state management
algebraic-data-types fp-ts functional-programming io-ts isomorphic react rxjs typescript
Last synced: 22 Jun 2025
https://github.com/johnthagen/sealed-typing-pep
A PEP to add a `@sealed` typing decorator to Python
algebraic-data-types pattern-matching pep python sealed-class type-annotations type-safety
Last synced: 05 May 2025
https://github.com/jaredly/j3
Another attempt to realize my programming language
algebraic-data-types algebraic-effects lisp pure
Last synced: 05 May 2025
https://github.com/coplt/coplt.union
Tagged union for c#
algebraic-data-types csharp-sourcegenerator discriminated-unions functional-programming source-generators sourcegenerator unions
Last synced: 02 Jul 2025
https://github.com/johnthagen/rust-to-python
A mapping of Rust features and tooling to Python
algebraic-data-types code-formatter embedded linting pattern-matching python rust tooling typing unit-testing wasm
Last synced: 12 Oct 2025
https://github.com/plume-lang/plume
Plume is a lightweight programming language that aims to be portable, powerful and easy to learn.
algebraic-data-types compiler functional-programming haskell imperative-programming lightweight programming-language traits
Last synced: 13 Aug 2025
https://github.com/jorokr21/flink-shapeless
ADT support for Flink with Shapeless
algebraic-data-types flink serialization shapeless type-classes
Last synced: 25 Jun 2025
https://github.com/alexandrepiveteau/elm-algebraic-graph
Algebraic graphs for Elm
algebraic-data-types elm graph
Last synced: 13 Apr 2025
https://github.com/underlay/tasl
An algebraic data model for strongly typed semantic data
adt algebraic-data-types category-theory data data-model graph-data knowledge-graph property-graph relational-model typescript
Last synced: 09 Oct 2025
https://github.com/functionalland/functional-io
IO methods as valid Task monads perfect to write great point-free software in JavaScript that is compatible with most modern browsers and Deno.
algebraic-data-types deno denoland filesystem functional functional-programming functor monad task-monad
Last synced: 18 Mar 2025
https://github.com/chakravala/fieldalgebra.jl
Field-algebra based on Group / Ring symbolic vector module extension
algebra algebraic-data-types algebraic-structures commutative-algebra computer-algebra group-theory julia math mathematics multivariate-polynomials polynomial-arithmetic polynomials vector
Last synced: 04 Aug 2025
https://github.com/ootidea/ts-tagged-union
A library for defining and manipulating algebraic data types in TypeScript.
algebraic-data-types discriminated-unions exhaustiveness-checking library narrowing npm-package pattern-matching tagged-unions typescript
Last synced: 08 May 2025
https://github.com/lapets/uxadt
Universal (cross-language) extensible representation for algebraic data type instances.
adt adts algebraic-data-types embedded-language functional-programming library pattern-matching
Last synced: 14 Jul 2025
https://github.com/davidchase/elmentary
Your one-stop shop for Algebraic Data Types (ADT) in elm :deciduous_tree:
adts algebraic-data-types elm functional-programming monads monoid
Last synced: 11 Apr 2025
https://github.com/aiya000/hs-algebra
Test algebra type class by QuickCheck.
algebra algebraic-data-types haskell
Last synced: 16 Jun 2025
https://github.com/mverleg/java-result
Algebraic Result type in Java 15+, return type for oprations that can fail
algebraic-data-types error-handling java jvm result sealed-class types
Last synced: 13 Apr 2025
https://github.com/choonkeat/sumtype-go
Fastest and simplest pattern matching sum types in Go. Don't be jealous of Rust anymore.
algebraic-data-types codegenerator golang result-type sumtypes tagged-unions union-types
Last synced: 12 Jul 2025
https://github.com/coyorkdow/result
rust style error handling for cpp
algebraic-data-types cpp error-handling functional-programming monad pattern-matching rust
Last synced: 07 May 2025
https://github.com/owaismohsin001/sunlight-lang
Sunlight lang is a dynamic, lazy, and functional programming language that compiles to Lua and JS
algebraic-data-types beginner-friendly compiler dynamic-polymorphism dynamic-programming dynamic-typing functional-language functional-languages functional-programming language lua memoization memorization multimethod polymorphic-functions polymorphic-variants polymorphism pure-functional sunlight sunlight-lang
Last synced: 09 Apr 2025
https://github.com/alexandrepiveteau/algebraic-graphs-kotlin
Algebraic graphs for Kotlin
algebraic-data-types graph kotlin
Last synced: 14 May 2025
https://github.com/iansinnott/shirt
๐ Put a shirt on that data! Simple algebraic data types
Last synced: 02 Jul 2025
https://github.com/zeta611/type-safe-programming
SLConf 2024: ํ์ ์ผ๋ก ์์ ํ๊ฒ ํ๋ก๊ทธ๋๋ฐํ๊ธฐ
ad-hoc-polymorphism algebraic-data-types beamer generalized-algebraic-data-type parametric-polymorphism polymorphism rust simply-typed-lambda-calculus subtype-polymorphism system-f type-system universal-type
Last synced: 21 Jun 2025
https://github.com/melbournedeveloper/nadz
Carefully crafted monads, such as Result and Option for exhaustive pattern matching in Dart.
algebraic-data-types dart flutter monads result-object
Last synced: 10 Apr 2025
https://github.com/fluture-js/callgebra
The little algebra of callbacks
algebraic-data-types callbacks functional-programming
Last synced: 10 Apr 2025
https://github.com/cpressey/destructorizers
The destructorizer for booleans is quite popular. It's called "if"
algebraic-data-types cpressey-theory destructorizers destructuring language-constructs language-design
Last synced: 05 Mar 2025
https://github.com/bjoernloetters/noocleus-one
A minimal functional programming language with type inference, algebraic data types and pattern matching
algebraic-data-types functional-programming hindley-milner let-polymorphism pattern-matching polymorphism scala type-check type-inference type-system
Last synced: 18 Mar 2025
https://github.com/mateuszkubuszok/afewtipsonmodellingthingsinscala
Talk for Scala.Love conference I gave on 13.02.2021
algebraic-data-types domain-modeling presentation-slides scala
Last synced: 30 Dec 2025
https://github.com/loloicci/nimltype
nimltype is a library to use algebraic data type like that of ML in Nim.
algebraic-data-types nim pattern-matching variant-type
Last synced: 12 Jun 2025
https://github.com/ruippeixotog/intro-to-category-theory
A presentation about some basic concepts of category theory
algebraic-data-types category-theory presentation shiftforward
Last synced: 27 Mar 2025
https://github.com/krakphp/adt
ADT (Algebraic Data Types) in PHP
adt algebraic-data-types enum enumeration php php7
Last synced: 23 Aug 2025
https://github.com/qqwy/elixir-fun_landic
Implementations of common Algorithmic Data Types for Elixir, built on top of the `fun_land` interface.
adt algebraic-data-types elixir elixir-lang fun-land
Last synced: 22 Feb 2025
https://github.com/akhansari/ts-adt
Algebraic Data Types & Typescript
adt algebraic-data-types typescript
Last synced: 24 Dec 2025
https://github.com/johnkerl/spffl
A finite-field library in C++
algebraic-data-types finite-field-arithmetic finite-field-discrete-logarithm finite-fields polynomials polynomials-over-finite-fields
Last synced: 14 Apr 2025
https://github.com/SuzanneSoy/phc-adt
Algebraic Datatypes for Typed/Racket, with some special features useful for writing compilers
algebraic-data-types racket-library
Last synced: 08 May 2025
https://github.com/aiya000/haskell_de_groupstructure
Haskellใงใใใ็พค่ซใฎไปฃๆฐ็ๆง้ (gitbook)
algebra algebraic-data-types gitbook haskell
Last synced: 15 Mar 2025
https://github.com/suzannesoy/phc-adt
Algebraic Datatypes for Typed/Racket, with some special features useful for writing compilers
algebraic-data-types racket-library
Last synced: 21 Jun 2025
https://github.com/eckankar/types-algebraic
Algebraic Data Types in Perl!
algebraic-data-types perl perl-module
Last synced: 10 Jun 2025
https://github.com/basemax/fgrouppy
FGroupPy is a software tool that allows you to perform various operations and analyses on mathematical groups. It provides a Python class called Group that represents a group and offers a set of methods to work with groups, including checking group properties, finding subgroups, generating multiplication tables, identifying normal subgroups, etc.
algebra algebra-software algebraic-data-types algebraic-structures fgroup group-theory group-theory-algorithms group-theory-loop grouptheory python software-algebra software-development software-engineering
Last synced: 03 Apr 2025
https://github.com/alexytsu/adl-lsp
Language Server Protocol implementation for Algebraic Data Language with VSCode client extension
adl algebraic-data-language algebraic-data-types language-server-protocol programming-language vscode vscode-extension
Last synced: 16 Jun 2025
https://github.com/chrismichaelps/scats
A comprehensive TypeScript library bringing Scala's powerful functional programming paradigms to JavaScript/TypeScript, featuring immutable collections, monads, pattern matching, and more
algebraic-data-types either-type functional-programming immutable-collections lazy-evaluation lazylist monads option-type pattern-matching resource-management scala scala-inspired scala-patterns scats state-monad try-pattern tuple typeclasses vector writer-monad
Last synced: 19 Jun 2025
https://github.com/oofdere/crabrave
better typescript enums (also Option<T>, Result<T, E>)
algebraic-data-types enum option result typescript
Last synced: 05 Sep 2025
https://github.com/tttardigrado/goadt
Algebraic Data Types generator for the Go programming language
adt algebraic-data-types code-generator functional-go functional-programming go-generate golang golang-tools haskell
Last synced: 03 Apr 2025
https://github.com/mateuszkubuszok/fromtypetokindprojector
Presentation I gave on Krakow Scala User Group
algebraic-data-types higher-kinded-types presentation-slides product-types scala type-system
Last synced: 15 Mar 2025
https://github.com/athanclark/websockets-simple
A simple wrapper around the websockets library.
algebraic-data-types api haskell websocket
Last synced: 16 Nov 2025
https://github.com/halfzebra/algebraic-actions
๐ Algebraic Actions in Redux
algebraic-data-types javascript redux
Last synced: 26 Dec 2025
https://github.com/raulpy271/validationmethods
๐งฎ validation methods of propositional logic
algebraic-data-types contradiction formula functional-programming haskell proof propositional-calculus tautology tree
Last synced: 19 Aug 2025
https://github.com/lewisgaul/python_adt
Implementation of Alegbraic Data Types (ADTs) in Python
algebraic-data-types python3 sum-types tagged-unions
Last synced: 02 Aug 2025