aboutsummaryrefslogtreecommitdiff
path: root/algebraic-structures.alternative.scm
blob: c397304e865629607977230bf3f96f6a5a3fe0b0 (about) (plain)
1
2
3
4
5
6
7
8
9
10
(functor ((algebraic-structures alternative) (A (pure map map2 alt empty)))
    (pure map map2 alt empty guard)
  (import (except scheme map apply)
          (only (chicken base) void)
          A)

  (define (guard b)
    (if b
        (pure (void))
        empty)))