13 lines
281 B
Racket
13 lines
281 B
Racket
#lang typed/racket
|
|
|
|
;; Test alpha equivalent types
|
|
|
|
(: x (All (A) (A -> A)))
|
|
(define x (plambda: (C) ((f : C)) f))
|
|
|
|
(: y (All (A) (A A -> A)))
|
|
(define y (plambda: (C) ((f : C) (g : A)) f))
|
|
|
|
(: z (All (B) (B (B -> B) -> B)))
|
|
(define z (plambda: (C) ((x : C) (f : (B -> B))) (f x)))
|