2015-08-19 00:14:31 +00:00
|
|
|
#lang racket/base
|
|
|
|
|
|
|
|
(provide hash-order)
|
|
|
|
|
|
|
|
(require data/order)
|
|
|
|
(require racket/contract)
|
|
|
|
|
|
|
|
(define hash-order
|
|
|
|
(order 'hash-order
|
|
|
|
any/c
|
|
|
|
eq?
|
2016-03-10 12:23:12 +00:00
|
|
|
(lambda (a b)
|
|
|
|
(define a-code (eq-hash-code a))
|
|
|
|
(define b-code (eq-hash-code b))
|
|
|
|
(or (< a-code b-code)
|
|
|
|
(and (= a-code b-code)
|
|
|
|
(eq? (datum-order a b) '<))))))
|