typed-racket/typed-racket-test/succeed/pr13710.rkt
2014-12-16 10:07:25 -05:00

24 lines
802 B
Racket

#lang typed/racket
(: convert-it (Any -> (HashTable Symbol Number)))
(define (convert-it a)
(if (hash? a)
(begin
(hash-ref a 3)
(hash-has-key? a 3)
(ann (hash-remove a 3) HashTableTop)
(hash-remove! a 3)
(length (hash-map a (lambda: ([x : Any] [y : Any]) x)))
(hash-for-each a (lambda: ([x : Any] [y : Any]) (display x)))
(add1 (hash-count a))
(length (hash-keys a))
(length (hash-values a))
(length (hash->list a))
(for ([(k v) (in-hash a)])
(display k))
(for/hash: : (HashTable Symbol Number) ([v (in-hash-values a)])
(values 'x 1))
(for/hash: : (HashTable Symbol Number) ([k (in-hash-keys a)])
(values 'x 1)))
(error 'convert-it "not a hash ~s" a)))