use define-simple-syntax/type-rule instead of define-term/type-rule

This commit is contained in:
Stephen Chang 2014-08-28 16:22:25 -04:00
parent 003e38b40f
commit e4f788ec7a

View File

@ -12,19 +12,18 @@
;; typed forms ----------------------------------------------------------------
(define-literal-type-rule integer : Int)
(define-literal-type-rule str : String)
(define-term/type-rule
(define-simple-syntax/type-rule
(+ e ...) : Int
#:where
(e : Int) ...)
(define-term/type-rule
(define-simple-syntax/type-rule
(λ ([x : τ] ...) e) : (τ ... τ_body)
#:where
(let τ_body := (typeof e)))
(define-term/type-rule
(define-simple-syntax/type-rule
(#%app f e ...) : τ2
#:where
(let (τ1 ... τ2) := (typeof f))