compat.rkt (864B)
1 #lang typed/racket 2 ;; Compatibility functions for Racket version 6.5. 3 4 (require "typed-untyped.rkt") 5 (define-typed/untyped-modules #:no-test 6 (require (only-in racket/syntax with-disappeared-uses)) 7 (require/typed racket/syntax 8 [record-disappeared-uses 9 ;; This is the type in v. 6.5. Later versions allow 10 ;; (U Identifier (Listof Identifier)). The wrapper below 11 ;; generalizes that type. 12 (→ (Listof Identifier) Any)]) 13 (provide with-disappeared-uses* 14 record-disappeared-uses*) 15 16 (define-syntax-rule (with-disappeared-uses* . body) 17 (with-disappeared-uses (let () . body))) 18 19 (: record-disappeared-uses* (→ (U Identifier (Listof Identifier)) Any)) 20 (define (record-disappeared-uses* ids) 21 (record-disappeared-uses (if (list? ids) ids (list ids)))))