stchang/macrotypes
null
{ "createdAt": "2017-01-26T15:34:26Z", "defaultBranch": "master", "description": null, "fullName": "stchang/macrotypes", "homepage": "", "language": "Racket", "name": "macrotypes", "pushedAt": "2022-06-02T17:31:55Z", "stargazersCount": 137, "topics": [ "racket", "turnstile" ], "updatedAt": "2025-10-19T15:21:18Z", "url": "https://github.com/stchang/macrotypes"}Turnstile+

Section titled “Turnstile+ ”A Racket-based framework for creating extensible and reusable typed languages.
- create typed (Racket
#lang) DSLs (in the same way as plain#langs) - prototype new type system features, modularly
Installation
Section titled “Installation”(Requires Racket v7.0 or later.)
Install Option 1: Via Racket package server
Section titled “Install Option 1: Via Racket package server”raco pkg install --auto turnstile
Install Option 2: Manual
Section titled “Install Option 2: Manual”- clone the repo
cdinto repo root dirraco pkg install --auto macrotypes-lib/ turnstile-lib/
Examples and Tests
Section titled “Examples and Tests”- Install the examples and tests (skip this step if installed via package server):
raco pkg install --auto rackunit-macrotypes-lib/ turnstile-example/ turnstile-test/
- Run the test suite:
raco test --drdr -p turnstile-test
Other notes
Section titled “Other notes”- additional tests and examples using the core types-as-macros (i.e., non-Turnstile) API:
- install:
raco pkg install --auto macrotypes-example/ rackunit-macrotypes-lib/ macrotypes-test/ - run:
raco test --drdr -p macrotypes-test
- install:
- POPL 2020: [paper] [artifact] [code] [Cur (an extensible proof assistant created with Turnstile+)]
- POPL 2017: [paper] [artifact] [code]