(define char->symbol (lambda (c) (string->symbol (string c)))) (define %lambda 'lambda) (define %let 'let) (define %let* 'let*) (define %set! 'set!) (define %return 'return) (define %class 'class) (define %extend 'extend) (define %define 'define) (define %if 'if) ;; Clause types for %class and %extend. (define %method 'method) (define %classmethod 'classmethod) (define %var 'var) (define %classvar 'classvar) ;; Entities for writing SCL input. (define %quote (string->symbol "'")) (define %back-slash (string->symbol "\\")) (define %comma (string->symbol ",")) (define %semi-colon (string->symbol ";")) (define %space (string->symbol " ")) (define %newline (string->symbol "*newline*")) (define %nothing (string->symbol "*nothing*")) (define %open-parenthesis (string->symbol "(")) (define %close-parenthesis (string->symbol ")")) (define %open-brace (string->symbol "{")) (define %close-brace (string->symbol "}")) (define %open-bracket (string->symbol "[")) (define %close-bracket (string->symbol "]")) (define %dot (string->symbol ".")) (define %dollar-sign (char->symbol #\$)) (define %equal (char->symbol #\=)) (define %hat (string->symbol "^")) (define %star (char->symbol #\*))