typed-racket/typed-racket-test/fail/bad-type-app.rkt
2014-12-16 10:07:25 -05:00

16 lines
681 B
Racket

#;
(exn-pred exn:fail:syntax?)
#lang typed-scheme
(define-typed-struct type ())
(define-typed-struct (type-base type) ([name : Symbol]) #:transparent)
(define-typed-struct (type-var type) ([uniq : (U Symbol Number)]) #:transparent)
(define-typed-struct (type-dots type) ([base : type]) #:transparent)
(define-typed-struct (type-fun type) ([args : (Listof type)] [ret : type]) #:transparent)
(define-typed-struct (type-un type) ([cases : (Listof type)]) #:transparent)
(define-typed-struct (type-vals type) ([elems : (Listof type)]) #:transparent)
(define-typed-struct (type-poly type) ([vars : (Listof (U (type-dots type-var) type-var))]))