William E. Byrd (@webyrd)

Top repositories

1

Barliman

Prototype smart text editor
Scheme
1,039
star
2

mediKanren

Proof-of-concept for reasoning over the SemMedDB knowledge base, using miniKanren + heuristics + indexing.
Racket
316
star
3

miniKanren-with-symbolic-constraints

Version of miniKanren I normally use. Has ==, =/=, symbolo, numbero, generalized absento constraints.
Scheme
155
star
4

miniKanren

Old version of miniKanren, without some of the fancy new constraints. See 'miniKanren-with-symbolic-constraints'.
Scheme
131
star
5

quines

Relational interpreter in miniKanren that can generate quines
Scheme
129
star
6

probKanren

Probabilistic miniKanren
Scheme
60
star
7

dissertation-single-spaced

Single-spaced version of my dissertation, 'Relational Programming in miniKanren: Techniques, Applications, and Implementations'
TeX
59
star
8

untitled-relational-interpreter-book

Relational Programming in miniKanren
Scheme
52
star
9

miniKanren-uncourse

Code, wiki, and resources for the weekly miniKanren uncourse
Scheme
52
star
10

relational-parsing-with-derivatives

Relational version of parsing with derivatives code
Scheme
41
star
11

TAPL-in-miniKanren-cKanren-core.logic

Translation of Pierce's 'Types and Programming Languages' into miniKanren/core.logic
Scheme
36
star
12

webmk

miniKanren for interactive tutorials on the web
Scheme
32
star
13

slpKanren

Stochastic Logic Programs (SLP) style probabilistic logic programming in miniKanren
Scheme
32
star
14

miniKanren-hangout-summaries

Summaries of intro and advanced miniKanren hangout series
Scheme
28
star
15

linear-logic-multiset-rewriting

Logic for story telling!
Scheme
28
star
16

alphaKanren

Nominal logic programming extensions to miniKanren, based on alphaProlog.
Scheme
23
star
17

cato

Concatenative relational interpreter in miniKanren
Scheme
22
star
18

relational-cesk

Relational implementation of the CESK machine
Scheme
22
star
19

normalization-by-evaluation

Normalization-by-evaluation in miniKanren
Scheme
22
star
20

anti-unification

Functional implementation of anti-unification algorithm for multiple terms
Scheme
21
star
21

scheme-primer

Interactive Scheme Primer, written in Scheme.
Scheme
21
star
22

hindley-milner-type-inferencer

Relational Hindley-Milner type inferencer in miniKanren. Supports polymorphic 'let'. Performs type habitation.
Scheme
19
star
23

curnelo

Cur dependently-typed language in miniKanren.
Scheme
17
star
24

polyconf-2015

Resources from the Polyconf 2015 talk & relational interpreters workshop
Scheme
15
star
25

cool-relational-interpreter-examples

Fun, interesting, and thought-provoking examples of relational Scheme interpreters at work
Scheme
14
star
26

2012-scheme-workshop-quines-paper-code

Code from the 2012 Scheme Workshop paper by Byrd, Holk, and Friedman, "miniKanren, Live and Untagged: Quine Generation via Relational Interpreters."
Scheme
14
star
27

declarative-semantics

miniKanren implementation of ' Declarative semantics for functional languages: compositional, extensional, and elementary' by Jeremy Siek.
Scheme
14
star
28

wreckto-verseo

Experiments with the Verse Calculus in miniKanren
Scheme
13
star
29

tree-automata

Tree-automata-based run-time type constraints for miniKanren
Racket
12
star
30

latticeKanren

lattice-based miniKanren, inspired by lambda-LVars
Scheme
12
star
31

will-writes-books

12
star
32

summer-scheming

Summer Scheming!!!!!!
Scheme
11
star
33

relational-interpreter-with-match

Relational Scheme interpreter, written in miniKanren, with Scheme pattern matcher
Scheme
11
star
34

set-constraints

Stolzenburg-style set constraints
Scheme
11
star
35

automata-and-mutual-recursion

Code from the Tutorial Thursday hangout of 2 May 2013 on using mutual-recursion to represent automata
Scheme
10
star
36

stranger-loops-talk

Code from 'Strange Dreams of Stranger Loops' keynote for Strange Leoop 2021 (https://www.youtube.com/watch?v=AffW-7ika0E)
Scheme
10
star
37

tabling

Tabling code for miniKanren. Only handles unification constraints, and has various limitations.
Scheme
9
star
38

n-grams-for-synthesis

n-gram probabilities based on Lisp code, for directing search of the relational Scheme interpreter
Scheme
8
star
39

Strange-Loop-2014

Program Synthesis in miniKanren
Scheme
8
star
40

strange-loop-2013

Code from the 2013 Strange Loop talk with Dan Friedman, 'A Relational Exploration of the Chomsky Hierarchy'
Scheme
7
star
41

Running-Backwards--Part-1

Interactive code from episode 1 of my 'Running Backwards' videos on relational programming.
Scheme
7
star
42

relational-amb

A Relational Exploration of McCarthy's amb
Scheme
7
star
43

mk-interp

miniKanren interpreter in Scheme
Scheme
6
star
44

igors-turing-machine

Igor Wiedler's relational Turing Machine, ported from core.logic to miniKanren
Scheme
6
star
45

relational-progress-sensitive-security

Relational implementation of type system and semantics from "Precise Enforcement of Progress-Sensitive Security" by Moore, Askarov, and Chong, CCS'12.
Scheme
6
star
46

scheme-fun-hacking

Scheme Fun Hacking!
Scheme
6
star
47

mk-metacircular-interp

meta-circular miniKanren interpreter
Scheme
6
star
48

first-class-macros

First class macros, based on Matt Might's blog post http://matt.might.net/articles/metacircular-evaluation-and-first-class-run-time-macros/
Scheme
6
star
49

relational-reactive-programming

Exploring interactive programming in miniKanren (Relational Reactive Programming)
Scheme
6
star
50

underconstraints

Underconstraints for miniKanren
HTML
6
star
51

peano-challenge

A simple relational Scheme integer to peano translator, demonstrating finite domain constraints
Scheme
6
star
52

relational-dfa

Relational deterministic finite automaton interpreter
5
star
53

mk-cps

Explorations of Continuation-Passing Style in miniKanren
Scheme
5
star
54

CytoChan

Cytogenetic Genomic Analysis in Racket
Racket
5
star
55

simple-raytracer

Simple ray-tracer, adapted from section 9.8 of Paul Graham's 'ANSI Common Lisp', 1996, Prentice-Hall Inc.
Racket
5
star
56

Scheme-macros

Code from the `Scheme macros` episodes of `Will's Guide to Programming Languages, Programming, Computation, and What-Have-You`
Scheme
5
star
57

symbolo-numbero-tests-for-core-logic

symbolo and numbero constraint tests for Clojure's core.logic
Clojure
4
star
58

gentle-intro-to-mk

miniKanren code for a Gentle Intro to miniKanren tutorial
Scheme
4
star
59

rnn-clojure

Recurrent Neural Net experiments on Clojure code
Clojure
4
star
60

lambda-lounge-utah-mk-talk

Code from Lambda Lounge Utah talk on miniKanren, 13 May 02104
Scheme
4
star
61

MU-puzzle

Hofstadter's MU puzzle in miniKanren
Scheme
4
star
62

relational-unifier

Relational unifier, implemented in miniKanren
Scheme
4
star
63

boston-clojure-group-talk

Code from my (virtual) talk for the Boston Clojure Group, 12 Feb 02015
Scheme
3
star
64

elephantKanren

Experiments with Searle's Speach Acts/McCarthy's Elephant 2000
Scheme
3
star
65

relational-interp-in-SMT

Scheme
3
star
66

compositional-typing

Racket
3
star
67

miniKanren-miniCourse

Code and resources for the miniKanren miniCourse.
3
star
68

meta-circular-interp-in-mk

Scheme
3
star
69

multi-quine

Generation of simple multi-language quines using relational interpreters for two Scheme-like languages.
Scheme
2
star
70

cartesian-evalo

Cartesian product of multiple evalos
Scheme
2
star
71

error-handling-relational-interpreter

Relational interpreter that explicitly represents errors, and can generate programs with specific errors
Scheme
2
star
72

pcpo

Post Correspondence Problem in miniKanren
Scheme
2
star
73

minikanren-playground

Extremely early prototype of an interactive programming assistant, based on the relational interpreter approach in miniKanren.
Scheme
2
star
74

utah-minikanren-summer-school

Code and resources for the miniKanren summer school at University of Utah
Scheme
2
star
75

2011-scheme-workshop-quines-paper-code

Code from the 2011 Scheme Workshop Paper by Byrd, Holk, and Friedman, "miniKanren, Live and Untagged: Quine Generation via Relational Interpreters"
Scheme
2
star
76

templateo

Experimenting with cKanren's new `templateo` constraint
Racket
2
star
77

relational-interpreter-with-set-bang

Relational Scheme interpreter, written in miniKanren, with set!, and supporting different evaluation orders
Scheme
2
star
78

zoo

Resources for 'The CS Education Zoo' web show
HTML
2
star
79

mad-at-x

miniKanren take on adatx main example (https://github.com/LudoTheHUN/adatx)
Racket
2
star
80

KeySchem-ture

KeySchemæture: Scheme research implementation of Impro-Visor grammar-related algorithms
Scheme
2
star
81

interleaving-small-step-evaluation

Playing with interleaving small-step evaluator for synthesis. With Michael Ballantyne.
Scheme
2
star
82

miniKanren-pretty-printer

A super simple pretty printer for miniKanren, designed for live coding
Scheme
2
star
83

copyo

miniKanren with declarative copy term (copyo)
Scheme
1
star
84

typeo

Simple DSL for writing even simpler type inferencers
Racket
1
star
85

relational-sorting

Relational sorting in miniKanren. Collaborative coding experiment from miniKanren Uncourse #13.
Scheme
1
star
86

mk-interpreter-with-term-size

miniKanren relational interpreter with term size argument
Scheme
1
star
87

meta-interp

Playing with meta-interpreters in miniKanren
Scheme
1
star
88

codemesh2015

CodeMesh 2015 miniKanren talk
Scheme
1
star
89

dot_emacs

My .emacs file
1
star
90

bookstore_for_C203

Simple livecoded bookstore for C203
Java
1
star
91

more-schemelyer-relational-interpreter

Much Scheme! Such letrec!
Scheme
1
star
92

imperishable-wonderland

An Imperishable Wonderland of Infinite Fun
TeX
1
star