axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] pointers


From: Tim Daly
Subject: Re: [Axiom-developer] pointers
Date: Tue, 10 Nov 2009 00:33:39 -0500
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

Note that, under this definition

a:Dequeue(Integer):= dequeue [1,2,3,4,5]
b:Queue(Integer):= queue [1,2,3,4,5]

hash(a) == hash(b)

This is because the internal data representation of both objects is:

 ((1 2 3 4 5))

Nevertheless, this is a perfectly reasonable hash function.

Tim


Bill Page wrote:
Tim,

Besides the fact that from the standard we only have that

  (equal x y) implies (= (sxhash x) (sxhash y)).

Do you see any reason why SXHASH is not used by default in SetCategory?

Note: OpenAxiom currently defines this default:

  add
      hash(s : %):  SingleInteger == SXHASH(s)$Lisp

Regards,
Bill Page.

On Mon, Nov 9, 2009 at 7:51 PM, Tim Daly <address@hidden> wrote:
...
There is a lisp function to get the hash value of any object
call sxhash. You can call it.

SXHASH(a)$Lisp

Note that if

c:=Integer

then
EQ(a,c)$Lisp is false
SXHASH(a)$Lisp is not equal to SXHASH(c)$Lisp

Thus the hash function you seek already exists.
You just have to accept the fact that Spad is only syntactic
sugar for lisp code and lisp is not evil.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]