www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

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)))))