如何为非空哈希表制定合同

how to make contract for a non-empty hashtable

Racket 有 non-empty-listof 合同但没有 non-empty-hashof 合同。有没有办法建造一个?

谓词可以用作契约,所以:

(define (non-empty-hash? x)
  (and (hash? x)
       (not (hash-empty? x))))

那么你可以使用non-empty-hash?作为你的合约。