typed-racket/typed-racket-test/fail/ht-infer.rkt
2014-12-16 10:07:25 -05:00

30 lines
606 B
Racket

#lang scheme/load
(module before typed/scheme
(provide (all-defined-out))
(define-struct: Sigil ())
(: list->english ((Listof String) -> String))
(define (list->english strs) (error 'fail))
(define-type-alias (Set X) (HashTable X '()))
(: empty-set (All (T) (-> (Set T))))
(define (empty-set) (error 'fail))
(: set->list (All (T) ((Set T) -> (Listof T))))
(define (set->list set) (error 'fail))
)
(module after typed/scheme
(require 'before)
(: f ((Set Sigil) -> Any))
(define (f x1)
(let* ([x2 (set->list x1)])
(list->english x2)
(error 'NO! "Way!"))))