javascript generator syntax

This commit is contained in:
2026-04-14 15:10:02 +02:00
parent 4d0a80cb4e
commit a1646d67cf
4 changed files with 415 additions and 49 deletions

View File

@@ -0,0 +1,42 @@
#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))