Skip to content

Instantly share code, notes, and snippets.

View iitalics's full-sized avatar

Milo iitalics

  • Somerville, MA
View GitHub Profile
@iitalics
iitalics / pattern-matching-redex.rkt
Created January 6, 2018 22:28
Pattern matching a lazy language with Redex
#lang racket/base
(require redex)
(define-language L
[x ::= variable-not-otherwise-mentioned]
[c ::= number null] ; atoms
[e ::= c (cons e e) x (roll [x] e) (+ e e)] ; expression
[v ::= c (cons e e)] ; WHNF values
[e\v ::= (roll [x] e) (+ e e)] ; non-value expressions (thunks?)