2026/01/13

Newest at the top

2026-01-13 16:32:50 +0100danza(~danza@user/danza) (Read error: Connection reset by peer)
2026-01-13 16:32:07 +0100danz62243(~danza@user/danza) danza
2026-01-13 16:28:22 +0100 <[exa]> okay there's a cooler one for Data.Sequence: https://hackage-content.haskell.org/package/containers-0.8/docs/src/Data.Sequence.Internal.html#Fi…
2026-01-13 16:28:01 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
2026-01-13 16:27:09 +0100 <[exa]> in other news, doesn't even look like Set would use any of these things... https://hackage-content.haskell.org/package/containers-0.8/docs/src/Data.Set.Internal.html#Set
2026-01-13 16:25:16 +0100 <[exa]> thirdofmay18081814goya: https://imgur.com/a/nj2d5kl (the tree root is above, but actual data structure root is pointed by the finger, and you need some different "reversed" representation for the pink nodes)
2026-01-13 16:23:45 +0100 <danza> i vaguely recall a story about theseus and ariadne
2026-01-13 16:22:50 +0100 <[exa]> I can't google any good image so lemme screenshot the slides
2026-01-13 16:21:42 +0100 <[exa]> "zipper" is essentially a technique where you grab the tree by an inner node instead of by the root, you need to add some complexity for inverting the pointers along the "spine" (path back to root), but you gain pretty good locality-based speedups (if there are many changes at one certain place in the tree, you don't need to rewrite as much data as if holding the tree by root)
2026-01-13 16:20:41 +0100 <haskellbridge> <thirdofmay18081814goya> neat, thanks a lot!!
2026-01-13 16:20:06 +0100 <[exa]> some libraries use 2-3 finger trees (I think Data.Map,Set and Sequence all have some variant of finger trees inside), and the usual construction you want to read about is called "zipper"
2026-01-13 16:19:31 +0100 <haskellbridge> <thirdofmay18081814goya> am just looking to read up on any of them for inspiration, no particular goal in mind at the moment
2026-01-13 16:17:34 +0100 <[exa]> it's more like there are several techniques that you can apply, depending on the usecase
2026-01-13 16:17:13 +0100 <[exa]> there are many
2026-01-13 16:12:53 +0100fp(~Thunderbi@wireless-86-50-140-77.open.aalto.fi) (Quit: fp)
2026-01-13 16:11:03 +0100 <haskellbridge> <thirdofmay18081814goya> what's an implementation of lazy trees? google doesn't come up with much
2026-01-13 16:09:17 +0100newmind(~newmind@91-133-90-252.dyn.cablelink.at)
2026-01-13 16:08:32 +0100Googulator43Googulator
2026-01-13 16:08:17 +0100Googulator43(~Googulato@2a01-036d-0106-4994-d043-6d2a-58f7-29ea.pool6.digikabel.hu)
2026-01-13 16:07:55 +0100Googulator43(~Googulato@2a01-036d-0106-4994-d043-6d2a-58f7-29ea.pool6.digikabel.hu) (Quit: Client closed)
2026-01-13 16:00:27 +0100akegalj(~akegalj@78-2-214-80.adsl.net.t-com.hr) (Quit: leaving)
2026-01-13 15:54:49 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-13 15:54:37 +0100trickard(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-13 15:53:42 +0100karenw(~karenw@user/karenw) karenw
2026-01-13 15:52:14 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-13 15:38:15 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2026-01-13 15:33:44 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-01-13 15:20:34 +0100Square2(~Square4@user/square) (Ping timeout: 244 seconds)
2026-01-13 15:17:36 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-13 15:17:00 +0100fp(~Thunderbi@wireless-86-50-140-77.open.aalto.fi) fp
2026-01-13 15:16:29 +0100Miroboru(~myrvoll@188.113.115.67) Miroboru
2026-01-13 15:15:01 +0100Miroboru(~myrvoll@188.113.115.67) (Ping timeout: 264 seconds)
2026-01-13 15:09:04 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2026-01-13 15:04:22 +0100karenw(~karenw@user/karenw) (Ping timeout: 246 seconds)
2026-01-13 15:03:46 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-01-13 14:52:25 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
2026-01-13 14:51:05 +0100rekahsoft(~rekahsoft@70.51.99.245) rekahsoft
2026-01-13 14:40:13 +0100fp(~Thunderbi@wireless-86-50-140-77.open.aalto.fi) (Ping timeout: 264 seconds)
2026-01-13 14:37:31 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2026-01-13 14:36:22 +0100PKDrinker(~PKDrinker@user/PKDrinker) (Ping timeout: 246 seconds)
2026-01-13 14:29:27 +0100danza(~danza@user/danza) danza
2026-01-13 14:28:01 +0100PKDrinker(~PKDrinker@user/PKDrinker) PKDrinker
2026-01-13 14:26:27 +0100weary-traveler(~user@user/user363627) user363627
2026-01-13 14:14:00 +0100newmind(~newmind@91-133-90-252.dyn.cablelink.at) (Quit: Client closed)
2026-01-13 13:52:20 +0100img(~img@user/img) img
2026-01-13 13:51:06 +0100img(~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
2026-01-13 13:49:03 +0100fp(~Thunderbi@wireless-86-50-140-77.open.aalto.fi) fp
2026-01-13 13:32:43 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2026-01-13 13:21:36 +0100Enrico63(~Enrico63@host-79-47-14-232.retail.telecomitalia.it) (Quit: Client closed)
2026-01-13 13:20:13 +0100itaipu(~itaipu@168.121.99.54) itaipu