UNB/ CS/ David Bremner/ teaching/ cs4613/ lectures/ lecture6/ snippet-027.rkt
#lang plait
[(Num n) expr]  ; <- change here
      @$\vdots$@
[(Let1 bound-id named-expr bound-body)
 (interp (subst bound-body bound-id
             (interp named-expr)))] ; <- no `(Num ...)'
[(Lam bound-id bound-body) expr] ;cf. Num

[(Call lam arg-expr) 
 (type-case FLANG lam
   [(Lam bound-id bound-body) ;cf. Let1
    (interp (subst bound-body bound-id
                 (interp arg-expr)))]
   [else (error 'eval "non-function")])]))