Added ... auxilary kwd
This commit is contained in:
parent
8e4adec147
commit
905b6c96c6
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -1063,6 +1063,8 @@
|
|||
"~s is not a record of type ~s"
|
||||
x ',rtd)))))
|
||||
setters i*))))])))
|
||||
(define incorrect-usage-macro
|
||||
(lambda (e) (stx-error e "incorrect usage of auxilary keyword")))
|
||||
(define parameterize-transformer ;;; go away
|
||||
(lambda (e r mr)
|
||||
(syntax-match e ()
|
||||
|
@ -1553,18 +1555,20 @@
|
|||
[(procedure? x) x]
|
||||
[(symbol? x)
|
||||
(case x
|
||||
[(define-record) define-record-macro]
|
||||
[(include) include-macro]
|
||||
[(cond) cond-macro]
|
||||
[(let) let-macro]
|
||||
[(do) do-macro]
|
||||
[(or) or-macro]
|
||||
[(and) and-macro]
|
||||
[(let*) let*-macro]
|
||||
[(syntax-rules) syntax-rules-macro]
|
||||
[(quasiquote) quasiquote-macro]
|
||||
[(with-syntax) with-syntax-macro]
|
||||
[(identifier-syntax) identifier-syntax-macro]
|
||||
[(define-record) define-record-macro]
|
||||
[(include) include-macro]
|
||||
[(cond) cond-macro]
|
||||
[(let) let-macro]
|
||||
[(do) do-macro]
|
||||
[(or) or-macro]
|
||||
[(and) and-macro]
|
||||
[(let*) let*-macro]
|
||||
[(syntax-rules) syntax-rules-macro]
|
||||
[(quasiquote) quasiquote-macro]
|
||||
[(with-syntax) with-syntax-macro]
|
||||
[(identifier-syntax) identifier-syntax-macro]
|
||||
[(...) incorrect-usage-macro]
|
||||
[(=>) incorrect-usage-macro]
|
||||
[else (error 'macro-transformer "invalid macro ~s" x)])]
|
||||
[else (error 'core-macro-transformer "invalid macro ~s" x)])))
|
||||
(define (local-macro-transformer x)
|
||||
|
|
|
@ -108,7 +108,9 @@
|
|||
[cond (macro . cond)]
|
||||
[do (macro . do)]
|
||||
[and (macro . and)]
|
||||
[or (macro . or)]))
|
||||
[or (macro . or)]
|
||||
[... (macro . ...)]
|
||||
))
|
||||
|
||||
(define library-legend
|
||||
'([i (ikarus) #t]
|
||||
|
@ -194,41 +196,43 @@
|
|||
|
||||
|
||||
(define ikarus-macros-map
|
||||
'([define i r]
|
||||
[define-syntax i r]
|
||||
[let-syntax i r]
|
||||
[letrec-syntax i r]
|
||||
[module i cm]
|
||||
[begin i r]
|
||||
[import i]
|
||||
[set! i r]
|
||||
[foreign-call i]
|
||||
[quote i r]
|
||||
[syntax-case i syncase]
|
||||
[syntax i syncase]
|
||||
[lambda i r]
|
||||
[case-lambda i r]
|
||||
[type-descriptor i ]
|
||||
[letrec i r]
|
||||
[letrec* i r]
|
||||
[if i r]
|
||||
[when i r]
|
||||
[unless i r]
|
||||
[parameterize i parameters]
|
||||
[case i r]
|
||||
[let-values i r]
|
||||
[define-record i r]
|
||||
[include i r]
|
||||
[syntax-rules i r]
|
||||
[quasiquote i r]
|
||||
[with-syntax i syncase]
|
||||
[let i r]
|
||||
'([define i r]
|
||||
[define-syntax i r]
|
||||
[let-syntax i r]
|
||||
[letrec-syntax i r]
|
||||
[module i cm]
|
||||
[begin i r]
|
||||
[import i]
|
||||
[set! i r]
|
||||
[foreign-call i]
|
||||
[quote i r]
|
||||
[syntax-case i syncase]
|
||||
[syntax i syncase]
|
||||
[lambda i r]
|
||||
[case-lambda i r]
|
||||
[type-descriptor i ]
|
||||
[letrec i r]
|
||||
[letrec* i r]
|
||||
[if i r]
|
||||
[when i r]
|
||||
[unless i r]
|
||||
[parameterize i parameters]
|
||||
[case i r]
|
||||
[let-values i r]
|
||||
[define-record i r]
|
||||
[include i r]
|
||||
[syntax-rules i r]
|
||||
[quasiquote i r]
|
||||
[with-syntax i syncase]
|
||||
[let i r]
|
||||
[identifier-syntax i r]
|
||||
[let* i r]
|
||||
[cond i r]
|
||||
[do i r]
|
||||
[and i r]
|
||||
[or i r]))
|
||||
[let* i r]
|
||||
[cond i r]
|
||||
[do i r]
|
||||
[and i r]
|
||||
[or i r]
|
||||
[... i r]
|
||||
))
|
||||
|
||||
(define ikarus-procedures-map
|
||||
'([void i]
|
||||
|
|
|
@ -230,7 +230,7 @@
|
|||
[vector-set! C ba]
|
||||
[vector? C ba]
|
||||
[zero? C ba]
|
||||
[... S ba sc]
|
||||
[... C ba sc]
|
||||
[=> S ba ex]
|
||||
[_ S ba sc]
|
||||
[else S ba ex]
|
||||
|
|
Loading…
Reference in New Issue