Backports syntax-local-template-metafunction-introduce as a package, so that it can be used in older versions. Require backport-template-pr1514/experimental/template instead of syntax/parse/experimental/template to use it.

This package introduces a set of modeling techniques for exploring behavior in software systems.
Models such as state machines and Petri nets can be used to model the behavior of a system, and
Markov chains are used to generate events to help in the simulation of systems.

Language for coding the Circuit Playground Express in Racket. Compiles Racket code to Python, which runs on a custom version of the Circuit Python firmware. We use this for educational purposes at ThoughtSTEM. It may or may not work on your operating system. I've tested it only on Mac and Linux.

Allows for function definitions with simple specifications that are enforced by checks at each call site. Functionality pales in comparison to racket/contract, but error messages w/ source info are provided for same-module violations of specifications.

Unstable, and has seemingly unsolvable problems with module boundaries. This package works like seq-no-order by Alexander Knauth, but adds reusable (within the same module) clauses and global constraints like "a must occur before b" or "a mutually exclusive with c".

A racket port of the version of minikanren from the artifact of the ICFP 2017 Pearl, A Unified Approach to Solving Seven Programming Problems by William E. Byrd, Michael Ballantyne, Gregory Rosenblatt, and Matthew Might. Includes evalo-optimized.

Algebraic Data Types for Typed/Racket, with features tailored to compiler writing. The data types do not have to be declared before they are used, like prefab structs and symbols. Behind the scenes, this library remembers all the data types in a file, and uses it to implicitly pre-declare them. Mostly stable, although some things may change a bit in the future.

The Plait language is a hybrid of Racket (concrete syntax) and ML (type system) that is intended for use in an interpreters-based programming-languages course. It's an improved variant of `plai-typed`.

Highly experimental and unstable. Attach multiple meanings to an identifier (match expander, function overloads, macros, custom "~literal" tokens…). Rename parts of identifiers (rename only some meanings, leaving others with the original name). Compose hybrid identifiers by mixing the meanings of two or more independently defined identifiers.

This Package is part of an expected set of packages implementing machine learning capabilities
for Racket. The core of this package is the management of 'datasets', these datasets are assumed
to be for training and testing of machine learning capabilities.

A tool for generating test cases for parsers for simple S-expression languages. It is intended primarily for use by instructors of Programming Languages classes in which students implement a simple S-expression-based programming language. It takes as input a description of the grammar of the language to be implemented and produces test cases for the students' parsers.