File: context.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 (18 lines) | stat: -rw-r--r-- 516 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#lang racket/base

(provide build-expand-context
         generate-expand-context)

(define (build-expand-context v)
  (let ([c (syntax-local-context)])
    (if (pair? c)
        (cons v c)
        (list v))))

(struct in-liberal-define-context ()
  #:property prop:liberal-define-context #t)

(define (generate-expand-context [liberal-definitions? #f])
  (build-expand-context (if liberal-definitions?
                            (in-liberal-define-context)
                            (gensym 'internal-define))))