2024/10/06

Newest at the top

2024-10-06 20:01:09 +0200 <monochrom> The overlapping names are intentional. It's by design. The idea is if you switch from "import Data.MapBasedOnBST" to "import Data.MapBasedOnBPlusTree", say, then that's the only change you need, because both exports "lookup" and they mean the same thing.
2024-10-06 19:59:36 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-06 19:59:36 +0200 <Inst> that said:
2024-10-06 19:59:21 +0200 <Inst> the idea of coming up with new names is that, if you want to rework Foldable etc, you don't create a new FAM problem
2024-10-06 19:59:17 +0200ljdarj(~Thunderbi@user/ljdarj) (Remote host closed the connection)
2024-10-06 19:58:59 +0200 <Inst> monochrom: iirc Haskell's container story is a mess with overlapping names and the legendary >> length (undefined,undefined)
2024-10-06 19:58:45 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-06 19:57:43 +0200 <monochrom> If you're like "flatMap is a good name because that's what C# LINQ calls it", I can actually get on board with that. But in this case it is because Bart Jacobs already calls join "flat" so of course I support that. >:)
2024-10-06 19:54:43 +0200 <tomsmeding> dminuoso: fair :)
2024-10-06 19:54:21 +0200 <monochrom> You could argue over less widespread things like Foldable.
2024-10-06 19:54:16 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-10-06 19:53:48 +0200 <davean> Oh I have looked at Edison :)
2024-10-06 19:53:42 +0200 <monochrom> foldl and foldr are already established names. LIke, even Scala goes with those names. If you change that, then you're just changing for the sake of changing.
2024-10-06 19:52:50 +0200 <geekosaur> have you ever looked at EdisonCore?
2024-10-06 19:52:00 +0200 <Inst> also unify the freaking maps over Set etc
2024-10-06 19:51:45 +0200LukeHoersten(~LukeHoers@user/lukehoersten) LukeHoersten
2024-10-06 19:51:34 +0200 <Inst> reduceL / reduceR instead of foldl / foldr, etc
2024-10-06 19:51:20 +0200 <Inst> you don't even need to "fix" foldable / traversable etc, just rename them
2024-10-06 19:50:29 +0200 <Inst> it actually seems pretty easy
2024-10-06 19:50:19 +0200 <Inst> i'm really sick, like, my heart is failing, maybe just trying to rework the container system in Haskell is a good swansong
2024-10-06 19:48:10 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
2024-10-06 19:47:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-06 19:46:15 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2024-10-06 19:45:38 +0200saolsen(sid26430@id-26430.lymington.irccloud.com) saolsen
2024-10-06 19:44:05 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-06 19:43:21 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-06 19:40:16 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Read error: Connection reset by peer)
2024-10-06 19:40:13 +0200 <int-e> well, vector has O(1) uncons :P
2024-10-06 19:38:41 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-10-06 19:37:02 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-06 19:36:06 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-06 19:35:41 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-06 19:34:07 +0200 <Inst> you'd imagine they'd just use a bidirectional dynamic vector to appeal to their userbase
2024-10-06 19:34:02 +0200 <Franciman> davean: i see many thanks
2024-10-06 19:33:55 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2024-10-06 19:33:45 +0200 <Inst> Python seems to have that as well
2024-10-06 19:33:36 +0200 <Franciman> i don't know it
2024-10-06 19:33:34 +0200 <Inst> EczemaScript ;)
2024-10-06 19:33:28 +0200 <Inst> Javascript
2024-10-06 19:33:28 +0200 <int-e> ECMAScript
2024-10-06 19:33:22 +0200 <Franciman> what is JS, Inst ?
2024-10-06 19:33:18 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 272 seconds)
2024-10-06 19:33:15 +0200 <Inst> what's the tradeoff of bidirectional vs unidirectional dynamic arrays / lists / vectors?
2024-10-06 19:33:01 +0200 <Inst> i'm curious, even JS has O(n) on shift
2024-10-06 19:32:54 +0200 <int-e> And this sidesteps many of the usual uses of dynamic vectors.
2024-10-06 19:32:24 +0200 <int-e> But that's the thing... we want stay outside of IO/ST for as much as possible. And we have all these fusion frameworks which let us work with things like lists-as-mutable-vectors and often get good performance because they never actually materialize.
2024-10-06 19:30:36 +0200 <davean> not mutable vector, which is the only thing we have thats vector like.
2024-10-06 19:30:10 +0200 <int-e> right. vector is far worse for mutations :P
2024-10-06 19:28:52 +0200 <davean> Sequence is WAY off vector performance.
2024-10-06 19:28:49 +0200 <Inst> hmmm, you can just newtype vector for dynamic vectors, you don't need any additional information in order to implement a dynamic vector