2026/01/25

Newest at the top

2026-01-25 22:05:16 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-25 21:56:43 +0100wickedja`(~user@2605:8d80:5431:62ef:ec3f:86f3:7664:49eb) (Remote host closed the connection)
2026-01-25 21:36:58 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit)
2026-01-25 21:36:10 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-25 21:34:03 +0100 <[exa]> cool.
2026-01-25 21:33:56 +0100 <[exa]> hashable internally has some XXH3 or what
2026-01-25 21:32:39 +0100 <tomsmeding> the proxy is ugly but it works
2026-01-25 21:32:21 +0100 <tomsmeding> class BaseHash base where { baseHash :: proxy base -> ByteString -> Int }; class BaseHash base => AnyHashable base a where { hash :: proxy base -> a -> Int }
2026-01-25 21:31:28 +0100 <[exa]> if I package it, the generality is gonna kill it :D :D
2026-01-25 21:31:23 +0100 <tomsmeding> there's actually a way to make the typeclass generic over the underlying hash implementation
2026-01-25 21:31:17 +0100 <[exa]> nah I have like 10 types, that's 10 functions
2026-01-25 21:30:59 +0100 <tomsmeding> and then package it up :)
2026-01-25 21:30:53 +0100 <[exa]> okay good that sounds like time to roll it
2026-01-25 21:29:54 +0100 <geekosaur> to ensure core data structures don't get changed unnecessarily and cause downstream breakage
2026-01-25 21:29:42 +0100 <tomsmeding> [exa]: roll it yourself? How many types do you need
2026-01-25 21:29:26 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-01-25 21:29:15 +0100 <geekosaur> hm, actually the cabal one is probably unsuitable though: it doesn't hash values, it specifically hashes structure
2026-01-25 21:29:14 +0100 <tomsmeding> _and_ underengineered, it doesn't have many instances I think
2026-01-25 21:29:05 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2026-01-25 21:28:52 +0100wickedjargon(~user@24.83.46.194) (Ping timeout: 244 seconds)
2026-01-25 21:28:50 +0100 <tomsmeding> take the cabal one if you copy one of those, the accelerate thing is overengineered
2026-01-25 21:28:29 +0100[exa]prepares ctrl+c
2026-01-25 21:28:17 +0100 <tomsmeding> same in Accelerate :p
2026-01-25 21:27:14 +0100wickedja`(~user@2605:8d80:5431:62ef:ec3f:86f3:7664:49eb)
2026-01-25 21:26:32 +0100 <geekosaur> cabal has something internally for that, but it's not packaged. (uses Generic to hash ADTs)
2026-01-25 21:26:07 +0100 <[exa]> I ideally want AnyStableHashable a => a -> Hash
2026-01-25 21:25:52 +0100 <[exa]> xxhash is ByteString -> Hash
2026-01-25 21:25:43 +0100 <tomsmeding> one of the hashes that have been given names
2026-01-25 21:25:36 +0100 <tomsmeding> or murmur
2026-01-25 21:25:31 +0100 <tomsmeding> [exa]: perhaps search for something like siphash or xxhash?
2026-01-25 21:25:29 +0100 <geekosaur> yeh, Hashable's not designed for that use case in much of any sense
2026-01-25 21:25:10 +0100 <[exa]> but essentially I want the hashmap to be out of memory and preferably shared between computers, where Hashable seems to fail
2026-01-25 21:24:46 +0100 <[exa]> yeah
2026-01-25 21:24:34 +0100 <Milan_Vanca> [exa]: By hash you mean something that produces Int, like quick hash to produce key for "HashMap"?
2026-01-25 21:23:30 +0100haritz(~hrtz@user/haritz) haritz
2026-01-25 21:23:30 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2026-01-25 21:23:30 +0100haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2026-01-25 21:22:55 +0100 <[exa]> ( preferably with some tooling to easily hash bigger datatypes than strings )
2026-01-25 21:22:15 +0100 <[exa]> is there some sub-cryptographic hash library where the hashes would be somewhat stable between computers? Hashable is not super stable, and I don't want to throw SHA at a problem where crc32 is already an overkill
2026-01-25 21:19:04 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds)
2026-01-25 21:18:23 +0100tessier_(~tessier@ip68-8-117-219.sd.sd.cox.net) tessier
2026-01-25 21:18:08 +0100tessier(~tessier@ip68-8-117-219.sd.sd.cox.net) (Ping timeout: 240 seconds)
2026-01-25 21:05:12 +0100ethantwardy(~user@user/ethantwardy) (Ping timeout: 244 seconds)
2026-01-25 20:53:47 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-25 20:49:13 +0100fp(~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 264 seconds)
2026-01-25 20:42:28 +0100Lord_of_Life_Lord_of_Life
2026-01-25 20:41:24 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2026-01-25 20:41:08 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-01-25 20:32:30 +0100Pozyomka(~pyon@user/pyon) (Ping timeout: 252 seconds)
2026-01-25 20:24:41 +0100driib3180(~driib@vmi931078.contaboserver.net) driib