2026/01/25

Newest at the top

2026-01-25 22:16:36 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-01-25 22:15:51 +0100Beowulf(florian@2a01:4f9:3b:2d56::2)
2026-01-25 22:14:57 +0100 <tomsmeding> but thank you, that looks better than the 2018-era packages I was finding
2026-01-25 22:14:28 +0100myxos(~myxos@174-18-58-141.tcso.qwest.net) myxokephale
2026-01-25 22:13:51 +0100 <geekosaur> tbh I use flora these days
2026-01-25 22:13:29 +0100 <tomsmeding> why am I not getting that when I search for "notify" on hackage
2026-01-25 22:13:12 +0100 <[exa]> tomsmeding: ghcid uses `fsnotify` and it was ok iirc
2026-01-25 22:13:06 +0100 <geekosaur> the usual is fsnotify, I think
2026-01-25 22:11:44 +0100 <tomsmeding> does anyone have a recommendation for a package for filesystem events
2026-01-25 22:10:53 +0100myxos(~myxos@174-18-58-141.tcso.qwest.net) (Remote host closed the connection)
2026-01-25 22:09:57 +0100 <[exa]> oh wow the magic numbers actually googled
2026-01-25 22:08:03 +0100 <[exa]> I found it in some very old source with a comment that it's very good indeed
2026-01-25 22:07:50 +0100 <[exa]> hsh x seed = seed `xor` (x * 2654435761 + 2654435769 + (shiftL seed 6) + (shiftR seed 2))
2026-01-25 22:07:48 +0100 <[exa]> btw kinda related to the above, does anyone recognize what kind of hash is this:
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)