plt redex
play

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


  1. PLT Redex: a semantics engineer’s toolkit Robby Findler & Casey Klein University of Chicago 1

  2. Critical Infrastructure 2

  3. Heavy-duty Tools 3

  4. Simpler Jobs 4

  5. Mismatched Tools 5

  6. The Right Tool for the Job 6

  7. Sometimes, Overhead Matters 7

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

  9. PLT Redex EDSL Tools define-language traces, stepper reduction-relation typesetting define-metafunction test suites 9

  10. PLT Redex EDSL Tools define-language traces, stepper reduction-relation typesetting define-metafunction test suites 10

  11. Target, i (define-language lang (e (e e ...) x v) (v number ( � (x ...) e) + *) (x (variable-except � + *)) (E hole (v ... E e ...))) 11

  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

  13. Executable (traces lang red (term ((( � (x) (x x)) ( � (x) (x x))) (* (+ 1 2) (+ 3 4))))) 13

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

  15. For fun (traces lang2 red2 (term ((( � (x) (x x)) ( � (x) (x x))) (* (+ 1 2) (+ 3 4))))) 15

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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend