1; SketchyLISP Library
2; Copyright (C) 2005,2006,2007 Nils M Holm. All rights reserved.
3; See the file LICENSE of the SketchyLISP distribution
4; for conditions of use.
5
6; ---name---
7; =
8
9; ---conformance---
10; R5RS
11
12; ---purpose---
13; Check whether all numbers in a sequence are equal.
14
15; ---args---
16; A - number
17; B... - numbers
18
19; ---keywords---
20; = function, equivalence, relation, comparison, predicate
21
22; ---see-also---
23; <, >, <=, >=, equal?, not
24
25; ---example---
26; (= 123 123 123) => #t
27
28(define equal #t)
29
30(require "pred-iter.scm") ; predicate-iterator
31(load "equalp.scm") ; equal?
32(load "normalize.scm")
33
34; ---code---
35(define =
36  (predicate-iterator
37    (lambda (a b)
38      (equal? (integer->list (normalize a))
39              (integer->list (normalize b))))))
40