[honu] add quote and quasiquote

This commit is contained in:
Jon Rafkind 2011-08-09 14:37:35 -06:00
parent 4538335b1c
commit ab0a21db99
3 changed files with 18 additions and 0 deletions

View File

@ -12,6 +12,8 @@
[honu-var var]
[honu-val val]
[honu-for for]
[honu-quote quote]
[honu-quasiquote quasiquote]
[honu-+ +] [honu-- -]
[honu-* *] [honu-/ /]
[honu-^ ^]

View File

@ -61,6 +61,20 @@
(parse #'(rest ...)))
(values parsed unparsed #t)])))
(provide honu-quote)
(define-honu-syntax honu-quote
(lambda (code context)
(syntax-parse code
[(_ expression rest ...)
(values #'(quote expression) #'(rest ...) #f)])))
(provide honu-quasiquote)
(define-honu-syntax honu-quasiquote
(lambda (code context)
(syntax-parse code
[(_ expression rest ...)
(values #'(quasiquote expression) #'(rest ...) #f)])))
(define-syntax-rule (define-binary-operator name precedence operator)
(begin
(provide name)

View File

@ -65,6 +65,8 @@
["." (token-identifier '|.|)]
["," (token-identifier '|,|)]
["!" (token-identifier '!)]
["'" (token-identifier 'quote)]
["`" (token-identifier 'quasiquote)]
["=" (token-identifier '=)]
["*" (token-identifier '*)]
["/" (token-identifier '/)]