В общем, я хочу '( (whatever1) (whatever2) (whatever3) ... )
===> ( "(whatever1)" "(whatever2)" "(whatever3)" )
, который просто добавляет кавычки вне списка и сохраняет содержимое списка без изменений. например,
'((define X ::int)
(define b0 :: bool (=> T (and (= X X) (= 0 0)))))
будет преобразовано в:
'("(define X ::int)"
"(define b0 :: bool (=> T (and (= X X) (= 0 0))))")
Однако следующий код, который я использую, исключает все пробелы!
#lang racket
(require syntax/to-string)
(define lst-sub '((define x :: int) (=> T (and (= X X) (= 0 0)))))
(pretty-write (map (λ (x) (string-append "(" (syntax->string (datum->syntax #f x)) ")")) lst-sub))
, который возвращает
("(definex::int)" "(=>T(and(=XX)(=00)))")
Итак, вопрос в том, что здесь больше нет пробелов!
Как я могу обойти это ??