Files
racket-webview/private/syntax-helpers.rkt

42 lines
824 B
Racket

#lang racket/base
(require racket/string
"utils.rkt"
)
(provide symbol??
symstr
symstr-eval
is-if?)
(define (symbol?? a)
(let ((r (symbol? a)))
r))
(define (symstr x)
(cond
((list? x)
(string-append "[ "
(string-join (map symstr-eval x) ", ")
" ]"))
((vector? x)
(symstr (vector->list x)))
(else
(let ((r (format "~a" x)))
(let ((r* (if (string-prefix? r "(quote")
(let ((s (substring r 7)))
(substring s 0 (- (string-length s) 1)))
r)))
r*)))
)
)
(define (symstr-eval x)
(cond
((string? x) (format "\"~a\"" (esc-double-quote x)))
(else (symstr x))))
(define (is-if? x)
(displayln x)
(eq? x 'if))