derive4j

Algebraic Data Types framework

An annotation processor and framework for deriving algebraic data types and related constructs in Java.

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

GitHub

566 stars
30 watching
50 forks
Language: Java
last commit: over 3 years ago
Linked from 3 awesome lists

algebraalgebraic-data-typesannotation-processorcatamorphismsderive4jdiscriminated-unionsexhaustiveness-checkingfoldfunctional-programmingjavajava-8lazinessopticssum-typestagged-unionsvisitorvisitor-pattern

Backlinks from these awesome lists:

Related projects:

Repository Description Stars
derive4j/derive4j-fj An extension to Derive4J that generates instances of type classes for FunctionalJava's standard libraries. 21
sviperll/adt4j Algebraic Data Types for Java implementation 145
fibo/algebra A comprehensive TypeScript library that provides a foundation for abstract algebra and geometric algebra using complex numbers, matrices, and higher-dimensional structures. 107
jetbrains/arend A theorem prover and a programming language based on Homotopy Type Theory 698
typedefs/typedefs A language-agnostic way to define algebraic data types using polynomials. 367
agrafix/elm-bridge A tool to automatically generate Elm types and functions from Haskell definitions 101
arthuraa/deriving Automatically generates boilerplate code for Coq inductive types 24
graphaware/neo4j-graphgen-procedure A Neo4j procedure for generating test data in various formats such as nodes, relationships, and values. 9
wolfgang-schuetzelhofer/jcypher Provides Java access to Neo4J graph databases at various levels of abstraction for complex domain modeling and querying. 86
evilsoft/crocks A collection of well-known Algebraic Data Types and their associated helper functions for functional programming in JavaScript. 1,592
fantasyland/static-land A framework for defining and composing algebraic structures in JavaScript using static functions and modules. 771
anno4j/anno4j Provides an API to create, manage, and query annotations using Java 48
ldp4j/ldp4j A Java-based framework for building read-write Linked Data applications based on the W3C LDP specification 43
davidedc/algebrite A JavaScript library for symbolic mathematics and algebraic computation. 973
hirrolot/datatype99 Algebraic data types for C99 with exhaustive pattern matching and compile-time introspection facilities. 1,379