File tree Expand file tree Collapse file tree 20 files changed +47
-9
lines changed
typed-racket-lib/typed-racket/static-contracts Expand file tree Collapse file tree 20 files changed +47
-9
lines changed Original file line number Diff line number Diff line change 2727
2828(struct any-combinator combinator ()
2929 #:transparent
30+ #:authentic
3031 #:methods gen:sc
3132 [(define (sc-map v f) v)
3233 (define (sc-traverse v f) (void))
Original file line number Diff line number Diff line change 2424
2525(struct case-combinator combinator ()
2626 #:transparent
27+ #:authentic
2728 #:property prop:combinator-name "case->/sc "
2829 #:methods gen:sc
2930 [(define (sc-map v f)
3839(struct arr-combinator combinator ()
3940 #:transparent
4041 #:property prop:combinator-name "arr/sc "
42+ #:authentic
4143 #:methods gen:sc
4244 [(define (sc-map v f)
4345 (arr-combinator (arr-seq-sc-map f (combinator-args v))))
8385
8486
8587(struct arr-seq (args rest range)
88+ #:authentic
8689 #:transparent
8790 #:property prop:sequence
8891 (match-lambda
Original file line number Diff line number Diff line change 1515 [prompt-tag/sc ((listof static-contract?) (or/c (listof static-contract?) #f ) . -> . static-contract?)])
1616
1717(struct prompt-tag-combinator combinator ()
18+ #:authentic
1819 #:transparent
1920 #:property prop:combinator-name "prompt-tag/sc "
2021 #:methods gen:sc
3637 (merge-restricts* 'chaperone (map f (pt-seq->list (combinator-args v)))))])
3738
3839(struct pt-seq (vals call-cc)
40+ #:authentic
3941 #:transparent
4042 #:property prop:sequence
4143 (lambda (s)
Original file line number Diff line number Diff line change 2121 pre-deps
2222 rng
2323 rng-deps)
24+ #:authentic
2425 #:transparent
2526 #:property prop:combinator-name "dep->/sc "
2627 #:methods gen:sc
Original file line number Diff line number Diff line change 1616
1717
1818(struct exist-combinator combinator ()
19+ #:authentic
1920 #:transparent
2021 #:methods gen:sc
2122 [(define (sc-map v f)
Original file line number Diff line number Diff line change 2323 static-contract?)])
2424
2525(struct function-combinator combinator (indices mand-kws opt-kws typed-side?)
26+ #:authentic
2627 #:property prop:combinator-name "->/sc "
2728 #:methods gen:equal+hash [(define (equal-proc a b recur) (function-sc-equal? a b recur))
2829 (define (hash-proc v recur) (function-sc-hash v recur))
Original file line number Diff line number Diff line change 9292 (list typed-sc untyped-sc both-sc)))
9393
9494(struct name-combinator combinator (gen-name)
95+ #:authentic
9596 #:transparent
9697 #:property prop:combinator-name "name/sc "
9798 #:methods gen:sc
Original file line number Diff line number Diff line change 2323 (display "#<none/sc> " port)))
2424
2525(struct none-combinator combinator ()
26+ #:authentic
2627 #:transparent
2728 #:methods gen:sc
2829 [(define (sc-map v f) v)
Original file line number Diff line number Diff line change 1313 typed-racket/utils/opaque-object)
1414 (for-syntax racket/base syntax/parse))
1515
16- (struct member-spec (modifier id sc) #:transparent )
16+ (struct member-spec (modifier id sc) #:authentic #: transparent )
1717
1818(define field-modifiers '(field init init-field inherit-field ))
1919(define method-modifiers '(method inherit super inner override augment augride ))
2020
2121(struct object-combinator combinator (opaque?)
22+ #:authentic
2223 #:transparent
2324 #:property prop:combinator-name "object/sc "
2425 #:methods gen:sc
3435 (merge-restricts* 'impersonator (map f (member-seq->list (combinator-args v)))))])
3536
3637(struct class-combinator combinator (opaque absents)
38+ #:authentic
3739 #:transparent
3840 #:property prop:combinator-name "class/sc "
3941 #:methods gen:sc
5254 (merge-restricts* 'impersonator (map f (member-seq->list (combinator-args v)))))])
5355
5456(struct instanceof-combinator combinator ()
57+ #:authentic
5558 #:transparent
5659 #:property prop:combinator-name "instanceof/sc "
5760 #:methods gen:sc
7881 (filter-map member-spec-sc vals)]))
7982
8083(struct member-seq (vals)
81- #:transparent
82- #:property prop:sequence member-seq->list)
84+ #:authentic
85+ #:transparent
86+ #:property prop:sequence member-seq->list)
8387
8488(define (member-seq-sc-map f seq)
8589 (match seq
Original file line number Diff line number Diff line change 3131 [sealing-var/sc (identifier? . -> . static-contract?)])
3232
3333(struct parametric-combinator combinator (vars)
34+ #:authentic
3435 #:transparent
3536 #:property prop:combinator-name "parametric->/sc "
3637 #:methods gen:sc
6667
6768;; combinator for sealing-> contracts for row polymorphism
6869(struct sealing-combinator combinator (vars members)
70+ #:authentic
6971 #:transparent
7072 #:property prop:combinator-name "sealing->/sc "
7173 #:methods gen:sc
You can’t perform that action at this time.
0 commit comments