base-comparison.scm 1.1 KB

1234567891011121314151617181920212223242526272829
  1. ; Copyright (c) 1993-2008 by Richard Kelsey and Jonathan Rees. See file COPYING.
  2. (define (symbol=?/2 a b)
  3. (if (or (not (symbol? a))
  4. (not (symbol? b)))
  5. (assertion-violation 'symbol=? "non-symbol argument" a b))
  6. (eq? a b))
  7. (define (boolean=?/2 a b)
  8. (if (or (not (boolean? a))
  9. (not (boolean? b)))
  10. (assertion-violation 'boolean=? "non-boolean argument" a b))
  11. (eq? a b))
  12. (define-n-ary-comparison symbol=? symbol? values symbol=?/2)
  13. (define-n-ary-comparison boolean=? boolean? values boolean=?/2)
  14. (define-n-ary-comparison char=? char? values prim:char=?)
  15. (define-n-ary-comparison char<? char? values prim:char<?)
  16. (define-n-ary-comparison char>? char? values prim:char>?)
  17. (define-n-ary-comparison char<=? char? values prim:char<=?)
  18. (define-n-ary-comparison char>=? char? values prim:char>=?)
  19. (define-n-ary-comparison string=? string? values prim:string=?)
  20. (define-n-ary-comparison string<? string? values prim:string<?)
  21. (define-n-ary-comparison string>? string? values prim:string>?)
  22. (define-n-ary-comparison string<=? string? values prim:string<=?)
  23. (define-n-ary-comparison string>=? string? values prim:string>=?)