UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture4/ type.rkt
#lang plait
(define-type LAE
  [Num  (val : Number)]
  [Add  (l : LAE) (r : LAE)]
  [Sub  (l : LAE) (r : LAE)]
  [Mul  (l : LAE) (r : LAE)]
  [Div  (l : LAE) (r : LAE)]
  [Id   (name : Symbol)]
  [Let1 (name : Symbol)
        (val : LAE)
        (expr : LAE)])