racket/collects/honu/core/private/canonical.rkt
Eli Barzilay 6ebf3ab32d Revert "Abolish "typed-scheme"."
This reverts commit 49a89da818.

(Will be redone later today.)
2011-09-04 10:27:58 -04:00

25 lines
661 B
Racket

#lang racket/base
(provide (all-defined-out))
(require "literals.rkt"
(for-template "honu-typed-scheme.rkt")
syntax/parse)
;; syntax -> string
(define (to-honu-string stx)
(syntax-parse stx
#:literal-sets ([cruft #:at stx])
#:literals (honu-unparsed-begin)
[(f (#%parens x ...) rest ...)
(format "~a(~a)~a"
(to-honu-string #'f)
(to-honu-string #'(x ...))
(to-honu-string #'(rest ...)))]
[(x1) (to-honu-string #'x1)]
[(x1 x2 ...)
(format "~a ~a" (to-honu-string #'x1)
(to-honu-string #'(x2 ...)))]
[() ""]
[else (format "~a" (syntax->datum stx))]))