Boston, Massachusetts

Michael Ballantyne

Expert
@michaelballantyne

faster-minikanren. A fast implementation of miniKanren with disequality and absento, compatible with Racket and Chez.

168

syntax-spec. A metalanguage for creating sophisticated DSLs in Racket.

40

meta-minikanren. A miniKanren interpreter... in miniKanren. Relationally run your relations relationally!

24

multiscope. A module language for programming with multiple named scopes, orthogonal to lexical nesting.

17

homebrew-chez. Homebrew tap for installing Chez Scheme (https://github.com/cisco/chezscheme)

14

miniKanren-occurrence-type-inferencer. Scheme

13

ee-lib. Racket

12

hosted-minikanren. An optimizing compiler implementation of miniKanren for Racket

6

backjumping-miniKanren. HTML

5

dKanren. Pure miniKanren with fair conjunction by iterative distribution and reduction

5

mkcdcl. miniKanren with conflict-driven clause learning using a SAT solver

4

racket-peg-ee. Racket

3

multiscope2. A module language for programming with multiple named scopes, orthogonal to lexical nesting.

3

racketcon-2025. Code from my RacketCon 2025 talk

3

scheme-workshop-2015. Relational interpreters from our Scheme 2015 talk

3

type-expander. Type expanders (i.e. type-level functions) for Typed/Racket

3

montecarlo-pi. Multithreaded monte carlo calculation of pi

2

sql-injection-competition. Intentionally vulnerable webapp created for an SQL injection competition

2

typed-racket-performance. Racket

2

fulmar. Generate formatted C++ from Racket S-expressions

2

extdsl-oopsla2020-artifact. Artifact for "Macros For Domain-Specific Languages", OOPSLA 2020

1

minipeg. A small implementation of Parsing Expression Grammars (PEGs) in Racket

1

syntax-generic. Language forms for generic functions over syntax objects in Racket

1

core-forms. Description of in-progress research on adding programmer-defined core forms to Racket's expander

1

hyol-s25-public. Code from lectures in my Spring 2025 "Hack Your Own Language" course

1

syntax-generic2. Racket

1

macros-lecture-f24. Racket

1

macropatterns. Racket

1

scope-sets-hygiene-lecture. Mini expander and examples for a lecture on macro hygiene via scope sets

1
29
Apply