▼ |  | Unstable: May Change Without Warning

1 | Guidelines for Developing unstable Libraries
2 | Automata: Compiling State Machines
3 | Bytes
4 | Contracts
5 | Contracts for Macro Subexpressions
6 | Debugging
7 | Definitions
8 | Errors
9 | Futures
10 | Functions
11 | Hash Tables
12 | Interface-Oriented Programming for Classes
13 | Lazy Require
14 | Lists
15 | Logging
16 | Macro Testing
17 | Mark Parameters
18 | Match
19 | Open place expressions
20 | Options
21 | Parameter Groups
22 | Pretty-Printing
23 | Re-Contracting Identifiers
24 | Sandbox
25 | Sequences
26 | Strings
27 | Structs
28 | Struct Printing
29 | Syntax
30 | Temporal Contracts: Explicit Contract Monitors
31 | Unix Domain Sockets
32 | 2D Syntax

► | 10 | Functions

10.1 | Higher Order Predicates

On this page:

10.1`` Higher Order Predicates
conjoin
disjoin

5.92
top ← prev up next →

### 10`` Functions

Carl Eastlund <cce@racket-lang.org>

This library is unstable; compatibility will not be maintained. See Unstable: May Change Without Warning for more information.

(require unstable/function) | package: unstable-list-lib

This module provides tools for higher-order programming and creating functions.

#### 10.1`` Higher Order Predicates

> procedure ((conjoin f ...) x ...) → boolean?
> f : (-> A ... boolean?)
> x : A

Combines calls to each function with and. Equivalent to (and (f x ...) ...)

Examples:
> (define f (conjoin exact? integer?))
> > (f 1)
> #t
> > (f 1.0)
> #f
> > (f 1/2)
> #f
> > (f 0.5)
> #f

> procedure ((disjoin f ...) x ...) → boolean?
> f : (-> A ... boolean?)
> x : A

Combines calls to each function with or. Equivalent to (or (f x ...) ...)

Examples:
> (define f (disjoin exact? integer?))
> > (f 1)
> #t
> > (f 1.0)
> #t
> > (f 1/2)
> #t
> > (f 0.5)
> #f

top ← prev up next →