srfi-125.sld 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. ;;; Copyright 2015 William D Clinger.
  2. ;;;
  3. ;;; Permission to copy this software, in whole or in part, to use this
  4. ;;; software for any lawful purpose, and to redistribute this software
  5. ;;; is granted subject to the restriction that all copies made of this
  6. ;;; software must include this copyright and permission notice in full.
  7. ;;;
  8. ;;; I also request that you send me a copy of any improvements that you
  9. ;;; make to this software so that they may be incorporated within it to
  10. ;;; the benefit of the Scheme community.
  11. ;;;
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13. (define-library (srfi 125)
  14. (export
  15. make-hash-table
  16. hash-table
  17. hash-table-unfold
  18. alist->hash-table
  19. hash-table?
  20. hash-table-contains?
  21. hash-table-empty?
  22. hash-table=?
  23. hash-table-mutable?
  24. hash-table-ref
  25. hash-table-ref/default
  26. hash-table-set!
  27. hash-table-delete!
  28. hash-table-intern!
  29. hash-table-update!
  30. hash-table-update!/default
  31. hash-table-pop!
  32. hash-table-clear!
  33. hash-table-size
  34. hash-table-keys
  35. hash-table-values
  36. hash-table-entries
  37. hash-table-find
  38. hash-table-count
  39. hash-table-map
  40. hash-table-for-each
  41. hash-table-map!
  42. hash-table-map->list
  43. hash-table-fold
  44. hash-table-prune!
  45. hash-table-copy
  46. hash-table-empty-copy
  47. hash-table->alist
  48. hash-table-union!
  49. hash-table-intersection!
  50. hash-table-difference!
  51. hash-table-xor!
  52. ;; The following procedures are deprecated by SRFI 125:
  53. (rename deprecated:hash hash)
  54. (rename deprecated:string-hash string-hash)
  55. (rename deprecated:string-ci-hash string-ci-hash)
  56. (rename deprecated:hash-by-identity hash-by-identity)
  57. (rename deprecated:hash-table-equivalence-function
  58. hash-table-equivalence-function)
  59. (rename deprecated:hash-table-hash-function hash-table-hash-function)
  60. (rename deprecated:hash-table-exists? hash-table-exists?)
  61. (rename deprecated:hash-table-walk hash-table-walk)
  62. (rename deprecated:hash-table-merge! hash-table-merge!)
  63. )
  64. (import (scheme base)
  65. (scheme write) ; for warnings about deprecated features
  66. (srfi 126)
  67. (except (srfi 128)
  68. hash-salt ; exported by (srfi 126)
  69. string-hash ; exported by (srfi 126)
  70. string-ci-hash ; exported by (srfi 126)
  71. ))
  72. (cond-expand
  73. ((library (scheme char))
  74. (import (scheme char)))
  75. (else
  76. (begin (define string-ci=? string=?))))
  77. (include "srfi-125/125.body.scm")
  78. ) ; eof