45 lines
654 B
Racket
45 lines
654 B
Racket
#lang typed/racket
|
|
|
|
(define s (set 0 1 2 3))
|
|
(define q (seteq 0 1 2 3))
|
|
(define v (seteqv 0 1 2 3))
|
|
(define s0 (ann (set) (Setof Byte)))
|
|
|
|
(set-empty? s)
|
|
(set-empty? q)
|
|
(set-empty? v)
|
|
(set-empty? s0)
|
|
|
|
(set-count s)
|
|
(set-count q)
|
|
(set-count v)
|
|
(set-count s0)
|
|
|
|
(set-member? s 0)
|
|
(set-member? q 0)
|
|
(set-member? v 0)
|
|
(set-member? s0 0)
|
|
|
|
(set-add s 4)
|
|
(set-add q 4)
|
|
(set-add v 4)
|
|
(set-add s0 4)
|
|
|
|
(set-remove s 4)
|
|
(set-remove q 4)
|
|
(set-remove v 4)
|
|
(set-remove s0 4)
|
|
|
|
(subset? s s0)
|
|
(set-map v add1)
|
|
(set-for-each s0 display)
|
|
|
|
(set-equal? s)
|
|
(set-eqv? v)
|
|
(set-eq? q)
|
|
(cast (and (set? s0) s0) (Setof Any))
|
|
(generic-set? s0)
|
|
(in-set s)
|
|
(for ([x (in-set s)])
|
|
s0)
|