简体   繁体   中英

What does `n` mean in Typed Racket?

n shows up at the type level in error messages, what is it?

Example:

(: trick (All (t u) ((U t (Listof u))  -> (Listof u)))) 
(define (trick x)
    (cond
      [(list? x) x]
     )      
)

Error with this n type:

Type Checker: type mismatch
  expected: (Listof u)
  given: (U (Listof u) (∩ (Pairof Any (Listof Any)) t)) in: x

I tried writing a type signature with n in it and using go-to-definition in Dr. Racket, but it says the symbol is not found.

it's not n , it's (intersection) .

Thanks @willness and @molbdnilo .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM