typedefs/typedefs
Programming language agnostic type construction language based on polynomials.
{ "createdAt": "2017-10-09T16:44:56Z", "defaultBranch": "master", "description": "Programming language agnostic type construction language based on polynomials.", "fullName": "typedefs/typedefs", "homepage": "http://typedefs.com/", "language": "Idris", "name": "typedefs", "pushedAt": "2024-05-29T23:39:55Z", "stargazersCount": 370, "topics": [ "category-theory", "f-algebras", "marshalling", "serialization", "serialization-library", "type-definitions", "type-theory", "types" ], "updatedAt": "2025-09-12T10:28:32Z", "url": "https://github.com/typedefs/typedefs"}Typedefs
Section titled “Typedefs”Typedefs is a programming language-agnostic, algebraic data type definition language, written in Idris.
See http://typedefs.com, or play around with examples at Try Typedefs!
Build and run
Section titled “Build and run”Nix package descriptions, an [Elba manifest]!(elba.toml) and a [Makefile]!(Makefile) are provided.
Nix packages
Section titled “Nix packages”If you want to build everything, do:
nix-build
If you only want to build a specific package:
nix-build -A typedefs.nix
Makefile
Section titled “Makefile”Build everything:
make build-libsudo make install-libmake build-restBuild a specific package:
make build pkg=typedefs
Build documentation:
make doc-all
Run tests:
make test-all
Install:
sudo make install-all
Clean up:
make clean-all
There is a complete tutorial on how to compile and install typedefs using the elba package manager [here]!(docs/TUTORIAL_INSTALL.md).
In most cases it should be just as easy as:
elba install