Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,801,653 events total
2025-12-08 21:29:09 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-12-08 21:30:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 21:30:33 <yin> seems like the radix tree implementation handles negative ints so that correct order is maintained
2025-12-08 21:30:46 <yin> cool
2025-12-08 21:31:24 <EvanR> maintained...... during what process
2025-12-08 21:32:40 chenjf joins (~chenjf@68.64.178.54)
2025-12-08 21:33:39 <yin> for what i understand, it's structured so that traversing naturally happens from minBound to maxBound
2025-12-08 21:34:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-08 21:35:53 <yin> (in that expected direction)
2025-12-08 21:36:18 <yin> my english may be failing me here
2025-12-08 21:37:49 <EvanR> well toList isn't really a process from IntSets to IntSets so you wouldn't be able to notice a change in ordering if there was one, because it's apples to oranges
2025-12-08 21:38:29 <EvanR> e.g. I figured you were asking if e.g. filtering out a particular value from the set leaves the remainder in the same relative order (observed when you do toList)
2025-12-08 21:38:48 <EvanR> or inserting a new value
2025-12-08 21:41:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 21:41:57 <yin> yes i'm also not sure in what measure those properties are exposed
2025-12-08 21:42:17 <[exa]> yin: anyway in the radix tree you still can't reach for k-th element in O(log(n)), I don't see they'd store weights there. So that's faster for the normal Set. OTOH the okasaki paper measured that tree merging is way faster for the radix trees (which makes sense).
2025-12-08 21:42:56 <[exa]> so e.g. if you need quick quantiles, go for Set Int
2025-12-08 21:44:19 <[exa]> (kinda sad the k-th smallest element operation is not exposed in API though.)
2025-12-08 21:46:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-08 21:46:25 × spew quits (~spew@user/spew) (Quit: nyaa~)
2025-12-08 21:47:43 × wbooze quits (~wbooze@cgn-195-14-220-195.nc.de) (Read error: Connection reset by peer)
2025-12-08 21:49:52 × chenjf quits (~chenjf@68.64.178.54) (Ping timeout: 255 seconds)
2025-12-08 21:50:20 <yin> splitRoot is interesting
2025-12-08 21:50:44 × trickard_ quits (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-08 21:50:46 <yin> oh, there's elemAt
2025-12-08 21:51:05 <yin> for Set
2025-12-08 21:51:46 <yin> how did i not know that
2025-12-08 21:51:49 peterbecich joins (~Thunderbi@172.222.148.214)
2025-12-08 21:53:25 trickard_ joins (~trickard@cpe-83-98-47-163.wireline.com.au)
2025-12-08 21:53:34 <[exa]> oh wait coooooooooooool
2025-12-08 21:53:56 <[exa]> yin: tbh I didn't notice it until now
2025-12-08 21:54:24 <[exa]> ok so my complaints above can now be safely slashed
2025-12-08 21:54:45 <yin> they're still valid for IntSet
2025-12-08 21:55:59 <[exa]> yeah but there that's expected
2025-12-08 21:56:08 <yin> right
2025-12-08 21:56:25 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds)
2025-12-08 21:57:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 22:01:05 pavonia joins (~user@user/siracusa)
2025-12-08 22:01:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-08 22:01:49 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 264 seconds)
2025-12-08 22:12:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 22:14:28 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-12-08 22:15:09 itaipu joins (~itaipu@168.121.97.28)
2025-12-08 22:15:30 × trickard_ quits (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-08 22:15:44 trickard_ joins (~trickard@cpe-83-98-47-163.wireline.com.au)
2025-12-08 22:17:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-08 22:18:00 <monochrom> yin: I would choose Set Int if I believe that one day I may have to change Int to something else.
2025-12-08 22:20:04 <yin> I maintain a personal library which abstracts the most common operations on containers so that I can have type Whatever = SomeContainer
2025-12-08 22:21:16 <yin> but it's both very incomplete and i feel not the most elegant solution
2025-12-08 22:22:19 <monochrom> Oh, the road to overthinking the best abstraction never ends. :)
2025-12-08 22:22:19 <EvanR> ah the Container class
2025-12-08 22:22:53 <EvanR> sounds like it is likely to be unable to implement some of the operations for most use cases
2025-12-08 22:23:15 × elarks quits (~yerri@user/yerrii) (Quit: WeeChat 4.7.1)
2025-12-08 22:23:42 <EvanR> java style would include "isOperationXImplemented :: Proxy a -> Bool" xD
2025-12-08 22:24:48 <yin> yeah this is not what we should be using classes for
2025-12-08 22:26:28 <davean> Type families with runtime type dispatch!
2025-12-08 22:28:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 22:29:27 elarks joins (~yerri@user/yerrii)
2025-12-08 22:31:44 trickard_ is now known as trickard
2025-12-08 22:33:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-08 22:34:11 peterbecich joins (~Thunderbi@172.222.148.214)
2025-12-08 22:37:42 <yin> another insane option is to go the "one class per function" route and have a module which is just a list of sins like `class Lookupable a where lookup ...`
2025-12-08 22:39:36 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-12-08 22:39:50 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-12-08 22:40:01 × trickard quits (~trickard@cpe-83-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2025-12-08 22:40:19 trickard_ joins (~trickard@cpe-83-98-47-163.wireline.com.au)
2025-12-08 22:41:32 <davean> I'm only in if you have that be via reflection
2025-12-08 22:43:05 <monochrom> GHC.Exts.withDict may help, but it is not an ergonomic interface.
2025-12-08 22:44:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 22:44:34 <monochrom> And I haven't looked into whether it still works for MPTC, FunDep, type families...
2025-12-08 22:44:43 <yin> at that point we would need some kind of type system!
2025-12-08 22:47:50 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
2025-12-08 22:48:18 × Inline quits (~inlinE@2001-4dd3-7fc8-0-f57-6413-8f27-9a87.ipv6dyn.netcologne.de) (Quit: Leaving)
2025-12-08 22:49:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-08 22:50:13 ven4tor joins (~halloy594@host-128-227-1-55.xlate.ufl.edu)
2025-12-08 22:50:28 <yin> haskell's runtime compiler
2025-12-08 22:50:59 ven4tor parts (~halloy594@host-128-227-1-55.xlate.ufl.edu) ()
2025-12-08 22:51:56 trickard_ is now known as trickard
2025-12-08 22:56:10 × raeven quits (~raeven@user/raeven) (Ping timeout: 245 seconds)
2025-12-08 23:00:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 23:04:15 × FANTOM_ quits (~fantom@212.228.181.156) (Ping timeout: 240 seconds)
2025-12-08 23:04:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-08 23:07:08 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
2025-12-08 23:08:25 Inline joins (~inlinE@2001-4dd3-7fc8-0-6429-4236-6fc8-9372.ipv6dyn.netcologne.de)
2025-12-08 23:11:43 × timide quits (~timide@user/timide) (Ping timeout: 240 seconds)
2025-12-08 23:13:02 timide joins (~timide@user/timide)
2025-12-08 23:16:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 23:19:55 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds)
2025-12-08 23:20:08 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
2025-12-08 23:20:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-08 23:22:57 Sgeo joins (~Sgeo@user/sgeo)
2025-12-08 23:29:58 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 260 seconds)
2025-12-08 23:31:36 jmcantrell_ joins (~weechat@user/jmcantrell)
2025-12-08 23:31:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 23:32:32 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-12-08 23:34:49 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 264 seconds)
2025-12-08 23:36:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-08 23:41:24 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
2025-12-08 23:47:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-12-08 23:50:26 × srk quits (~sorki@user/srk) (Ping timeout: 256 seconds)

All times are in UTC.