PLT Redex: a semantics engineers toolkit Robby Findler & Casey - - PowerPoint PPT Presentation

plt redex
SMART_READER_LITE
LIVE PREVIEW

PLT Redex: a semantics engineers toolkit Robby Findler & Casey - - PowerPoint PPT Presentation

PLT Redex: a semantics engineers toolkit Robby Findler & Casey Klein University of Chicago 1 Critical Infrastructure 2 Heavy-duty Tools 3 Simpler Jobs 4 Mismatched Tools 5 The Right Tool for the Job 6 Sometimes, Overhead


slide-1
SLIDE 1

PLT Redex:

a semantics engineer’s toolkit

Robby Findler & Casey Klein University of Chicago

1
slide-2
SLIDE 2

Critical Infrastructure

2
slide-3
SLIDE 3

Heavy-duty Tools

3
slide-4
SLIDE 4

Simpler Jobs

4
slide-5
SLIDE 5

Mismatched Tools

5
slide-6
SLIDE 6

The Right Tool for the Job

6
slide-7
SLIDE 7

Sometimes, Overhead Matters

7
slide-8
SLIDE 8

Isabelle, HOL, Coq, Twelf, ... PLT Redex

8
slide-9
SLIDE 9

PLT Redex

EDSL Tools define-language traces, stepper reduction-relation typesetting define-metafunction test suites

9
slide-10
SLIDE 10

PLT Redex

EDSL Tools define-language traces, stepper reduction-relation typesetting define-metafunction test suites

10
slide-11
SLIDE 11

Target, i

(define-language lang (e (e e ...) x v) (v number ( (x ...) e) + *) (x (variable-except + *)) (E hole (v ... E e ...)))

11
slide-12
SLIDE 12

Target, ii

(define red (reduction-relation lang (--> (in-hole E (+ number ...)) (in-hole E ,(apply + (term (number ...)))) +) (--> (in-hole E (* number ...)) (in-hole E ,(apply * (term (number ...)))) *) (--> (in-hole E (( (x ...) e) v ...)) (in-hole E (subst-n ((x v) ... e))) v)))

12
slide-13
SLIDE 13

Executable

(traces lang red (term ((( (x) (x x)) ( (x) (x x))) (* (+ 1 2) (+ 3 4)))))

13
slide-14
SLIDE 14

For fun

(define-language lang2 (e (e e ...) x v) (v number ( (x ...) e) + *) (x (variable-except + *)) (E hole (e ... E e ...)))

14
slide-15
SLIDE 15

For fun

(traces lang2 red2 (term ((( (x) (x x)) ( (x) (x x))) (* (+ 1 2) (+ 3 4)))))

15
slide-16
SLIDE 16

http://www.cs.uchicago.edu/~robby/plt-redex/

16