File: intdef.rkt

package info (click to toggle)
racket 7.9%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 178,684 kB
  • sloc: ansic: 282,112; lisp: 234,887; pascal: 70,954; sh: 27,112; asm: 16,268; makefile: 4,613; cpp: 2,715; ada: 1,681; javascript: 1,244; cs: 879; exp: 499; csh: 422; python: 274; xml: 106; perl: 104
file content (14 lines) | stat: -rw-r--r-- 764 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(module intdef '#%kernel
  (#%provide internal-definition-context-track)

  (define-values (internal-definition-context-track)
    (lambda (intdef stx)
      (if (internal-definition-context? intdef)
          (if (syntax? stx)
              (let-values ([(ids) (internal-definition-context-binding-identifiers intdef)])
                (if (null? ids)
                    stx
                    (let-values ([(v) (syntax-property stx 'disappeared-binding)])
                      (syntax-property stx 'disappeared-binding (if v (cons ids v) ids)))))
              (raise-argument-error 'internal-definition-context-track "syntax?" 1 intdef stx))
          (raise-argument-error 'internal-definition-context-track "internal-definition-context?" 0 intdef stx)))))