(module symbol mzscheme (require (lib "string.ss" "srfi" "13") (file "base.ss") ) (provide (all-defined) ) ;; symbol-append : (U symbol string integer boolean) ... -> symbol (define (symbol-append . args) (string->symbol (string-concatenate (map (lambda (item) (cond [(symbol? item) (symbol->string item)] [(string? item) item] [(number? item) (number->string item)] [(boolean? item) (if item "true" "false")] [else (raise-exn/format exn:fail:unlib "Expected (list-of (U symbol string number boolean)). Received: ~a" args)])) args)))) )