split functional-set? predicate into separate module
This commit is contained in:
parent
b5ab927e6e
commit
abd302a839
17
lens/private/util/functional-set.rkt
Normal file
17
lens/private/util/functional-set.rkt
Normal file
|
@ -0,0 +1,17 @@
|
|||
#lang sweet-exp racket/base
|
||||
|
||||
provide functional-set?
|
||||
|
||||
require racket/set
|
||||
module+ test
|
||||
require rackunit
|
||||
|
||||
(define (functional-set? st)
|
||||
(and (generic-set? st)
|
||||
(set-implements? st 'set-add 'set-remove)
|
||||
(not (set-mutable? st))))
|
||||
|
||||
module+ test
|
||||
(check-true (functional-set? (set 1 2 3)))
|
||||
(check-true (functional-set? '(1 2 3)))
|
||||
(check-false (functional-set? (mutable-set 1 2 3)))
|
|
@ -7,6 +7,7 @@ provide
|
|||
set-filterer-lens (-> predicate/c (lens/c functional-set? functional-set?))
|
||||
|
||||
require lens/private/base/main
|
||||
lens/private/util/functional-set
|
||||
racket/set
|
||||
racket/function
|
||||
fancy-app
|
||||
|
@ -51,14 +52,3 @@ module+ test
|
|||
(set 4 5 6 7 'a 'b 'c 'd 'e))
|
||||
(check-exn exn:fail:contract?
|
||||
(thunk (lens-set (set-filterer-lens number?) (set 1) (set 'a))))
|
||||
|
||||
|
||||
(define (functional-set? st)
|
||||
(and (generic-set? st)
|
||||
(set-implements? st 'set-add 'set-remove)
|
||||
(not (set-mutable? st))))
|
||||
|
||||
module+ test
|
||||
(check-true (functional-set? (set 1 2 3)))
|
||||
(check-true (functional-set? '(1 2 3)))
|
||||
(check-false (functional-set? (mutable-set 1 2 3)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user