new doc branch
svn: r17813
This commit is contained in:
parent
530a3eb5e8
commit
e071050f7f
|
@ -12,13 +12,14 @@
|
|||
string-constants/string-constant
|
||||
;(prefix-in ce: test-engine/scheme-tests)
|
||||
(for-syntax
|
||||
scheme/base syntax/parse
|
||||
scheme/base syntax/parse mzlib/etc
|
||||
(utils tc-utils)
|
||||
(env init-envs)
|
||||
(except-in (rep filter-rep object-rep type-rep) make-arr)
|
||||
(types convenience union)
|
||||
(only-in (types convenience) [make-arr* make-arr])
|
||||
(typecheck tc-structs)))
|
||||
(typecheck tc-structs))
|
||||
(for-meta 2 scheme/base syntax/parse))
|
||||
|
||||
|
||||
(define-for-syntax (initialize-others)
|
||||
|
@ -78,11 +79,12 @@
|
|||
(-> (-lst a) (-val '()) (-lst a))
|
||||
(-> (-lst a) (-lst b) (-lst (*Un a b)))))
|
||||
;; make-sequence
|
||||
[(syntax-parse (local-expand #'(for ([x '()]) x) 'expression #f)
|
||||
#:context #'make-sequence
|
||||
#:literals (let-values quote)
|
||||
[(let-values ([_ (m-s '(_) '())]) . _)
|
||||
#'m-s])
|
||||
[(begin-lifted
|
||||
(syntax-parse (local-expand #'(for ([x '()]) x) 'expression #f)
|
||||
#:context #'make-sequence
|
||||
#:literals (let-values quote)
|
||||
[(let-values ([_ (m-s '(_) '())]) . _)
|
||||
#'m-s]))
|
||||
(-poly (a)
|
||||
(let ([seq-vals
|
||||
(lambda ([a a])
|
||||
|
|
|
@ -6,7 +6,8 @@ don't depend on any other portion of the system
|
|||
|#
|
||||
|
||||
(provide (all-defined-out))
|
||||
(require "syntax-traversal.ss" syntax/parse (for-syntax scheme/base syntax/parse) scheme/match)
|
||||
(require "syntax-traversal.ss" syntax/parse (for-syntax scheme/base syntax/parse) scheme/match
|
||||
(for-syntax unstable/syntax))
|
||||
|
||||
;; a parameter representing the original location of the syntax being currently checked
|
||||
(define current-orig-stx (make-parameter #'here))
|
||||
|
@ -155,17 +156,8 @@ don't depend on any other portion of the system
|
|||
#:attributes (ty id)
|
||||
(pattern [nm:identifier ty]
|
||||
#:with id #'#'nm)
|
||||
(pattern [e:expr ty extra-mods ...]
|
||||
#:with id #'(let ([new-ns
|
||||
(let* ([ns (make-empty-namespace)])
|
||||
(namespace-attach-module (current-namespace)
|
||||
'scheme/base
|
||||
ns)
|
||||
ns)])
|
||||
(parameterize ([current-namespace new-ns])
|
||||
(namespace-require 'scheme/base)
|
||||
(namespace-require 'extra-mods) ...
|
||||
e))))
|
||||
(pattern [e:expr ty]
|
||||
#:with id #'e))
|
||||
(syntax-parse stx
|
||||
[(_ e:spec ...)
|
||||
#'(list (list e.id e.ty) ...)]))
|
||||
|
|
Loading…
Reference in New Issue
Block a user