{"id":18354506,"url":"https://github.com/stchang/macrotypes","last_synced_at":"2026-01-23T15:42:00.598Z","repository":{"id":19459612,"uuid":"80127273","full_name":"stchang/macrotypes","owner":"stchang","description":null,"archived":false,"fork":false,"pushed_at":"2022-06-02T17:31:55.000Z","size":3725,"stargazers_count":137,"open_issues_count":19,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-10T01:45:10.207Z","etag":null,"topics":["racket","turnstile"],"latest_commit_sha":null,"homepage":"","language":"Racket","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stchang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-26T15:34:26.000Z","updated_at":"2025-03-27T21:50:16.000Z","dependencies_parsed_at":"2022-08-07T09:15:21.047Z","dependency_job_id":null,"html_url":"https://github.com/stchang/macrotypes","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/stchang/macrotypes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stchang%2Fmacrotypes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stchang%2Fmacrotypes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stchang%2Fmacrotypes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stchang%2Fmacrotypes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stchang","download_url":"https://codeload.github.com/stchang/macrotypes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stchang%2Fmacrotypes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28694816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T14:15:13.573Z","status":"ssl_error","status_checked_at":"2026-01-23T14:09:05.534Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["racket","turnstile"],"created_at":"2024-11-05T22:04:21.226Z","updated_at":"2026-01-23T15:42:00.565Z","avatar_url":"https://github.com/stchang.png","language":"Racket","funding_links":[],"categories":["Racket"],"sub_categories":[],"readme":"# Turnstile+ [![Build Status](https://travis-ci.org/stchang/macrotypes.svg?branch=master)](https://travis-ci.org/stchang/macrotypes) [![Scribble Docs](https://img.shields.io/badge/Docs-Scribble%20-blue.svg)](http://docs.racket-lang.org/turnstile/index.html)\n\nA Racket-based framework for creating extensible and reusable typed languages.\n- create *typed* (Racket `#lang`) DSLs (in the same way as plain `#lang`s)\n- prototype new type system features, modularly\n\n## Installation\n\n(Requires [Racket](https://download.racket-lang.org/) v7.0 or later.)\n\n#### Install Option 1: Via Racket [package server](https://pkgs.racket-lang.org/)\n\n`raco pkg install --auto turnstile`\n\n#### Install Option 2: Manual\n\n1. clone the repo\n2. `cd` into repo root dir\n3. `raco pkg install --auto macrotypes-lib/ turnstile-lib/`\n\n## Examples and Tests\n\n1. Install the examples and tests (skip this step if installed via package server):\n\n`raco pkg install --auto rackunit-macrotypes-lib/ turnstile-example/ turnstile-test/`\n\n2. Run the test suite: `raco test --drdr -p turnstile-test`\n\n## Other notes\n\n- additional tests and examples using the core types-as-macros (i.e., non-Turnstile) API:\n    - install: `raco pkg install --auto macrotypes-example/ rackunit-macrotypes-lib/ macrotypes-test/`\n    - run: `raco test --drdr -p macrotypes-test`\n- POPL 2020: [[paper](http://www.ccs.neu.edu/home/stchang/pubs/cbtb-popl2020.pdf)] [[artifact](http://www.ccs.neu.edu/home/stchang/popl2020/artifact/README.html)] [[code](https://github.com/stchang/macrotypes/tree/popl2020-artifact)] [[Cur (an extensible proof assistant created with Turnstile+)](https://github.com/stchang/cur/tree/popl2020-artifact)]\n- POPL 2017: [[paper](http://www.ccs.neu.edu/home/stchang/pubs/ckg-popl2017.pdf)] [[artifact](http://www.ccs.neu.edu/home/stchang/popl2017/index.html#artifact)] [[code](https://github.com/stchang/macrotypes/tree/popl2017-artifact)]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstchang%2Fmacrotypes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstchang%2Fmacrotypes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstchang%2Fmacrotypes/lists"}