srfi-209.sld 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. (define-library (srfi 209)
  2. (import (scheme base)
  3. (scheme case-lambda)
  4. (srfi 1)
  5. (srfi 125)
  6. (srfi 128)
  7. (srfi 178))
  8. (cond-expand
  9. ((library (srfi 162))
  10. (import (srfi 162)))
  11. (else
  12. (begin
  13. (define real-comparator
  14. (make-comparator real? = < number-hash)))))
  15. (export enum-type? enum? enum-type-contains? enum=? enum<? enum>?
  16. enum<=? enum>=?
  17. make-enum-type
  18. enum-type enum-name enum-ordinal enum-value
  19. enum-name->enum enum-ordinal->enum enum-name->ordinal
  20. enum-name->value enum-ordinal->name enum-ordinal->value
  21. enum-type-size enum-min enum-max enum-type-enums
  22. enum-type-names enum-type-values
  23. enum-next enum-prev
  24. enum-type->enum-set enum-set list->enum-set enum-set-projection
  25. enum-set-copy enum-empty-set make-enumeration enum-set-universe
  26. enum-set-constructor enum-set-type enum-set-indexer
  27. enum-set? enum-set-contains? enum-set=? enum-set-member?
  28. enum-set-empty? enum-set-disjoint? enum-set<? enum-set>?
  29. enum-set<=? enum-set>=? enum-set-any? enum-set-every?
  30. enum-set-subset?
  31. enum-set-adjoin! enum-set-delete! enum-set-delete-all!
  32. enum-set-adjoin enum-set-delete enum-set-delete-all
  33. enum-set-size enum-set->list enum-set-map->list enum-set-for-each
  34. enum-set-filter enum-set-remove enum-set-count enum-set-fold
  35. enum-set->enum-list
  36. enum-set-filter! enum-set-remove!
  37. enum-set-union enum-set-intersection enum-set-difference
  38. enum-set-xor enum-set-complement enum-set-union!
  39. enum-set-intersection! enum-set-difference! enum-set-xor!
  40. enum-set-complement!
  41. make-enum-comparator
  42. define-enum define-enumeration
  43. )
  44. (include "srfi-209/209.scm"))