(module require-ct mzscheme (provide (all-defined)) (define (join . args) (define (to-string x) (cond [(string? x) x] [(symbol? x) (symbol->string x)] [(identifier? x) (symbol->string (syntax-e x))])) (string->symbol (apply string-append (map to-string args)))) (define (absolute-mod-spec? mod-spec) (syntax-case mod-spec () [(kw dir ...) (let ([kw (syntax-e #'kw)]) (case kw [(lib file) (andmap string? (map syntax-e (syntax->list #'(dir ...))))] [(planet) #t]))] [_ #f])) (define (relative-mod-spec? mod-spec) (string? (syntax-e mod-spec))) )