2025/03/09

Newest at the top

2025-03-09 20:17:07 +0100 <Inst> i mean if there's a million element list, it's 2^20, would be less
2025-03-09 20:16:25 +0100 <EvanR> 2^2^20 elements
2025-03-09 20:16:17 +0100 <EvanR> 2^20 levels of splitting would be a very large list
2025-03-09 20:15:37 +0100 <EvanR> it might not work if you try to mconcat over that many chunks at a time
2025-03-09 20:15:22 +0100 <[exa]> that's probably gonna differ a lot from machine to machine no?
2025-03-09 20:15:13 +0100 <EvanR> since you only have like double digit cores
2025-03-09 20:14:46 +0100 <Inst> 2^20
2025-03-09 20:14:42 +0100 <Inst> ehhh, probably closer to 20 or so, if 1048576 is 2
2025-03-09 20:14:14 +0100 <Inst> right now, i'm thinking hundreds
2025-03-09 20:13:29 +0100fmira(~user@user/fmira) fmira
2025-03-09 20:13:16 +0100 <EvanR> how many levels of splitting
2025-03-09 20:13:02 +0100fmira(~user@user/fmira) (Remote host closed the connection)
2025-03-09 20:12:34 +0100 <Inst> at least for the list variant, subdivide into the list into smaller elements, toss rpar (iirc) on the smaller elements, get intermediate results, then use another split and merge until i end up with a list of 1 element then return that element via rseq
2025-03-09 20:12:29 +0100raym(~ray@user/raym) raym
2025-03-09 20:12:09 +0100raym(~ray@user/raym) (Ping timeout: 244 seconds)
2025-03-09 20:10:35 +0100 <EvanR> exactly
2025-03-09 20:10:20 +0100 <EvanR> how?
2025-03-09 20:08:57 +0100 <Inst> just make a dumb foldPar and foldMapPar function
2025-03-09 20:08:38 +0100acidjnk_new(~acidjnk@p200300d6e7283f122c9d6c56f23204e7.dip0.t-ipconnect.de)
2025-03-09 20:08:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-09 20:06:15 +0100 <[exa]> Inst: maybe check out https://hackage.haskell.org/package/parallel-3.2.2.0/docs/Control-Parallel-Strategies.html
2025-03-09 20:05:22 +0100 <EvanR> what are you actually trying to do again
2025-03-09 20:04:56 +0100 <Inst> but that implies it'll cache, and getNumCapabilities' bind value can change
2025-03-09 20:04:32 +0100 <Inst> at the very least, i can see a problem, I want to unsafePerformIO getNumCapabilities
2025-03-09 20:04:08 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-09 20:02:25 +0100 <Inst> is the reason no one's done this already because it relies too much on the specifics of the operation and is dangerous to generalize?
2025-03-09 20:00:42 +0100caconym(~caconym@user/caconym) caconym
2025-03-09 20:00:02 +0100caconym(~caconym@user/caconym) (Quit: bye)
2025-03-09 19:58:59 +0100 <EvanR> what's the biggest number n might be, realistically
2025-03-09 19:58:23 +0100 <Inst> for length
2025-03-09 19:58:20 +0100 <Inst> since lists are O(n)
2025-03-09 19:58:09 +0100 <Inst> it's not, tbh
2025-03-09 19:54:25 +0100 <[exa]> c_wraith: oh whew okay, cool
2025-03-09 19:54:17 +0100 <[exa]> Inst: yeah depending on what you aim to do there I guess it might be super straightforward
2025-03-09 19:53:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-09 19:52:40 +0100 <c_wraith> [exa]: if you're willing to maintain them, you can use environment files. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#package-environments
2025-03-09 19:51:31 +0100down200(~down200@shell.lug.mtu.edu) down200
2025-03-09 19:49:14 +0100 <Inst> oh. lol
2025-03-09 19:48:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-09 19:48:45 +0100 <lambdabot> Foldable t => t a -> [a]
2025-03-09 19:48:44 +0100 <EvanR> :t toList
2025-03-09 19:48:13 +0100 <Inst> honestly I think i don't even need a splittable superclass, I just need the ability to convert an existing structure with toList
2025-03-09 19:47:40 +0100Inst(~Inst@user/Inst) Inst
2025-03-09 19:42:49 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-03-09 19:42:28 +0100Square(~Square@user/square) (Ping timeout: 245 seconds)
2025-03-09 19:41:53 +0100 <[exa]> which is kinda what `par` does in normal haskell, it doesn't do much to the code, just splits it into possibly paralellizable compartments
2025-03-09 19:41:26 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-03-09 19:41:17 +0100krei-se(~krei-se@p3ee0f37e.dip0.t-ipconnect.de) krei-se
2025-03-09 19:41:06 +0100 <[exa]> Inst: (one that doesn't really do anything, just preserves the structure)
2025-03-09 19:40:51 +0100krei-se(~krei-se@p200300f1cf4e8f002411defffe902013.dip0.t-ipconnect.de) (Excess Flood)