UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture3/ snippet-017.rkt
#lang plait
(define-type AE
  [Num (n : Number)]
  [Add (l : AE) (r : AE)]
  [Sub (l : AE) (r : AE)])

(test (eval (parse-sx `3))              3)
(test (eval (parse-sx `{+ 3 4}))        7)
(test (eval (parse-sx `{+ {- 3 4} 7}))  6)