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