2023/08/07

2023-08-07 00:00:05 +0200zaraksh(~zaraksh@94.11.219.121)
2023-08-07 00:02:02 +0200micro(~micro@user/micro) (Ping timeout: 245 seconds)
2023-08-07 00:03:24 +0200misterfish(~misterfis@87.215.131.102) (Ping timeout: 260 seconds)
2023-08-07 00:03:25 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
2023-08-07 00:03:57 +0200micro(~micro@user/micro)
2023-08-07 00:11:03 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-08-07 00:21:54 +0200ubert1(~Thunderbi@77.119.215.66.wireless.dyn.drei.com)
2023-08-07 00:23:16 +0200ubert(~Thunderbi@178.115.57.241.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
2023-08-07 00:23:16 +0200ubert1ubert
2023-08-07 00:30:04 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 00:38:06 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-08-07 00:48:49 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
2023-08-07 00:50:21 +0200bratwurst(~dfadsva@2604:3d09:207f:f650::c3b) (Ping timeout: 246 seconds)
2023-08-07 00:52:00 +0200bratwurst(~dfadsva@2604:3d09:207f:f650::c3b)
2023-08-07 00:52:42 +0200bilegeek(~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441)
2023-08-07 01:12:51 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (Ping timeout: 260 seconds)
2023-08-07 01:13:38 +0200bilegeek(~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441) (Quit: Leaving)
2023-08-07 01:13:56 +0200mauke_(~mauke@user/mauke)
2023-08-07 01:15:33 +0200mauke(~mauke@user/mauke) (Ping timeout: 246 seconds)
2023-08-07 01:15:33 +0200mauke_mauke
2023-08-07 01:24:11 +0200NinjaTrappeur(~ninja@user/ninjatrappeur)
2023-08-07 01:25:44 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-07 01:27:24 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-08-07 01:30:45 +0200 <bratwurst> is there a channel for asking nix questions? #nix seems to be invite-only
2023-08-07 01:30:53 +0200 <bratwurst> i'm trying to get obelisk to work
2023-08-07 01:31:17 +0200tokie(~tokie@tokie.net) (WeeChat 2.8)
2023-08-07 01:31:40 +0200 <dsal> There's #nixos, but I've rarely had a question answered there.
2023-08-07 01:31:43 +0200phma(phma@2001:5b0:210d:fef8:786c:170d:9d9:5b69) (Read error: Connection reset by peer)
2023-08-07 01:32:07 +0200phma(phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa)
2023-08-07 01:32:25 +0200 <jackdk> #reflex-frp for obelisk/reflexverse stuff
2023-08-07 01:32:31 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-08-07 01:32:53 +0200 <jackdk> Nix people moved to matrix and #nixos is a bit of a ghost town
2023-08-07 01:33:16 +0200gurkenglas(~gurkengla@dynamic-046-114-095-239.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-08-07 01:33:31 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-08-07 01:51:54 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-08-07 01:54:03 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 01:55:59 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-07 01:57:18 +0200bilegeek(~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441)
2023-08-07 01:57:32 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-08-07 02:00:11 +0200rselim(ce261f06ff@2604:bf00:561:2000::257) (Changing host)
2023-08-07 02:00:11 +0200rselim(ce261f06ff@user/milesrout)
2023-08-07 02:00:52 +0200rselim(ce261f06ff@user/milesrout) (Remote host closed the connection)
2023-08-07 02:01:03 +0200rselim(ce261f06ff@user/milesrout)
2023-08-07 02:03:07 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-07 02:07:59 +0200phma(phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer)
2023-08-07 02:08:24 +0200phma(~phma@host-67-44-208-165.hnremote.net)
2023-08-07 02:17:18 +0200 <yin> how can i learn how to profile a function to, say, understand if list fusion happens?
2023-08-07 02:23:19 +0200zaraksh(~zaraksh@94.11.219.121) (Ping timeout: 246 seconds)
2023-08-07 02:23:28 +0200 <Axman6> The usual advice is to start by looking at the Core output, but there's also a lot of flags for dumping all sorts of information about the various optimisations that go on.
2023-08-07 02:24:19 +0200 <yin> i'm a little intimidated by core
2023-08-07 02:24:58 +0200 <Axman6> It's just haskell with slightly funky syntax - there's quite a few talks that cover what it all means, i'll see if I can find some
2023-08-07 02:25:12 +0200 <yin> thanks Axman6
2023-08-07 02:26:04 +0200 <Axman6> https://www.youtube.com/watch?v=Gml1m-3L47s is an excellent (and recent) introduction into what core is, and i think a little about how to read it. It'ds long but will give you a good baseline understanding of how ghc actually works
2023-08-07 02:27:30 +0200 <dsal> The slightly harder one is doing parallel stuff and trying to figure out why sparks don't run in paralle.
2023-08-07 02:27:56 +0200 <yin> right now i'm trying to find out if i should write a function that calculates several things at once by traversing a list or if i can just do `(f &&& g) list` and rely on some kind of optimization that prevents it from traversing twice
2023-08-07 02:28:17 +0200 <yin> any useful rules of thumb??
2023-08-07 02:29:22 +0200 <jackdk> Axman6: ooh, good link. I have a "desugaring to core" video in my http://jackkelly.name/wiki/haskell/learning.html linkpost but maybe I need one with more comic sans; will watch and see
2023-08-07 02:29:49 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds)
2023-08-07 02:29:51 +0200 <Axman6> if you do (f &&& g) list, you've told the compiler to do two traversals, and if it changed it to do one, it would change the semantics of the program, so GHC won't do that. you might want to look at the foldl library, which is specifically designed for single pass traversals of an arbitrary amount of computation
2023-08-07 02:30:00 +0200 <jackdk> yin: I believe Axman6 has used package https://hackage.haskell.org/package/foldl before
2023-08-07 02:30:08 +0200 <jackdk> you're quick on the draw today Axman6
2023-08-07 02:30:49 +0200 <Axman6> list fusion happens when the result of one function is passed to another function, so things like sum . filter f . enumFromTo 0
2023-08-07 02:31:03 +0200 <Axman6> jackdk: surprsing given how recently I finished my coffee
2023-08-07 02:31:46 +0200 <jackdk> if you do `(f &&& g) list` I think you guarantee that each function will hold references to the same input list if it needs to, but agree that you can't guarantee that those functions will walk the list in a single traversal
2023-08-07 02:32:26 +0200 <Axman6> Also for your specific question, https://hackage.haskell.org/package/list-fusion-probe exists
2023-08-07 02:33:25 +0200 <yin> Axman6: that's great, thank you
2023-08-07 02:34:23 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-08-07 02:34:27 +0200 <dsal> Axman6: I'm not super familiar with arrows, but why can't that be one traversal?
2023-08-07 02:34:33 +0200 <Axman6> yin: think about this function: average xs = sum sx / fromIntegral (length xs); either the sum or the length needs to be computed first, but both the top and the bottom keep a reference to xs. xs might be a thunk when it's passed in, but once one, say sum, evaluates it, because there's still a reference to it, the evaluated xs remains in memory
2023-08-07 02:34:42 +0200 <dsal> Also, jackdk reminds me that my irc client has an easter egg where it always prints "comic sans" in comic sans.
2023-08-07 02:35:09 +0200 <Axman6> dsal: (f &&& g) x = (f x, g x), in this case (iirc?)
2023-08-07 02:35:40 +0200 <dsal> Yeah, I guess I keep imagining more magic. They can definitely do very different things.
2023-08-07 02:36:15 +0200fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-07 02:37:06 +0200razetime(~quassel@117.254.36.246)
2023-08-07 02:37:12 +0200 <Axman6> yin: one solution to the above problem is to now pass in xs, but pass in a function which computes xs: average fxs = sum (fxs ()) / fromIntegral (length (fxs ())) - this avoid the sharing, both calls to fxs produce a different list (which might get fuxed with the sum and the length), but doubles the work.
2023-08-07 02:37:39 +0200 <yin> dsal: now i'm curious, what's your client?
2023-08-07 02:37:46 +0200 <dsal> irccloud
2023-08-07 02:40:31 +0200 <geekosaur> so it channels SPJ?
2023-08-07 02:41:36 +0200 <Axman6> yin: the foldl package exists specifically to solve this problem - it defines data Fold a b = Fold (a -> x -> x) x (x -> b) - a state update function, some state, and a function to extract a result from the state. sum becomes: Fold (\a s -> a + s) 0 id, length becomes Fold (\_ c -> c + 1) 0 id, and the fun part comes with /, which becomes: (Fold fa sa za) / (Fold fb sb zb) = Fold (\x (sa,sb) -> (fa z sa, fb z sb)) (sa, sb) (\(sa,sb) -> z sa / z sb)
2023-08-07 02:41:42 +0200mhatta(~mhatta@www21123ui.sakura.ne.jp) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
2023-08-07 02:41:43 +0200 <Axman6> so many lambdas...
2023-08-07 02:42:55 +0200bratwurst(~dfadsva@2604:3d09:207f:f650::c3b) (Ping timeout: 246 seconds)
2023-08-07 02:42:58 +0200 <jackdk> https://github.com/bitemyapp/learnhaskell/blob/master/dialogues.md#transducers related
2023-08-07 02:43:37 +0200 <yin> Axman6: why the use of lambdas instead of (+), const, etc.?
2023-08-07 02:43:41 +0200 <Axman6> then there are function, like fold :: Fold a b -> [a] -> b, and average becomes the beautifully terse: average = sum / fromIntegral <$> length (or average = sum / genericLength, which does the fromIntegral internally)
2023-08-07 02:44:09 +0200 <Axman6> yin: just consistency, it matches up slightluy more clearly with the definition of the type - they're equivalent
2023-08-07 02:44:39 +0200 <glguy> genericLength does the length computation using the result type, which is rarely what you want
2023-08-07 02:44:42 +0200 <yin> ah ok
2023-08-07 02:45:25 +0200 <Axman6> I "maintain" the foldl-statistics package, which computes a bunch statistics on anything you can fold over (including the first five central moments in a single pass, which I just think is neat)
2023-08-07 02:45:38 +0200zaraksh(~zaraksh@94.11.219.121)
2023-08-07 02:45:38 +0200zaraksh(~zaraksh@94.11.219.121) (Client Quit)
2023-08-07 02:45:52 +0200 <Axman6> glguy: I thought genericLength = Fold (+) (0 :: Int) fromIntegral
2023-08-07 02:46:01 +0200mhatta(~mhatta@www21123ui.sakura.ne.jp)
2023-08-07 02:46:44 +0200 <Axman6> oh ew, it's not
2023-08-07 02:46:45 +0200 <yin> why do i always end up opening a dozen of tabs after asking a simple question here?
2023-08-07 02:47:03 +0200 <geekosaur> 🙂
2023-08-07 02:47:21 +0200 <Axman6> Because you're leaning haskell, and it expants your mind (and tabs are a good mechanism of storing that information before you're internalised it =)
2023-08-07 02:47:34 +0200 <glguy> genericLength doesn't even do a left fold; it's bad news
2023-08-07 02:47:35 +0200jero98772(~jero98772@2800:484:1d84:300::3) (Ping timeout: 245 seconds)
2023-08-07 02:47:44 +0200 <Axman6> glguy: you've ruined my day btw
2023-08-07 02:47:46 +0200bratwurst(~dfadsva@2604:3d09:207f:f650::c3b)
2023-08-07 02:48:41 +0200 <Axman6> are we talking about the same genericLength? I'm referring to https://hackage.haskell.org/package/foldl-1.4.15/docs/Control-Foldl.html#v:genericLength which does indeed use the result type, but definitely does a left fold
2023-08-07 02:49:09 +0200 <geekosaur> @index genericLength
2023-08-07 02:49:09 +0200 <lambdabot> GHC.OldList, Data.List
2023-08-07 02:49:47 +0200 <yin> left folds are subject to fusion now, right?
2023-08-07 02:50:01 +0200 <Axman6> GHC.OldList, where the compiler allocates pieces of paper and write down the elements with a biro
2023-08-07 02:50:32 +0200 <geekosaur> I think I saw a compiler Note about left folds being rewritten as right folds?
2023-08-07 02:51:03 +0200 <yin> let's open a couple more tabs
2023-08-07 02:51:23 +0200 <yin> i need tabs for my tabs
2023-08-07 02:51:43 +0200 <Axman6> yin: generally yes, but it depends on what their argument is. Really you shouldn't think of fusion as a specific optimisation (though I guess the build/fold fusion is one specific example), it's generally ends up more often being an instance of the case-of-case optimisation
2023-08-07 02:51:44 +0200 <geekosaur> I thought firefox had an extension for that?
2023-08-07 02:52:22 +0200 <Axman6> Safari has tab groups these days for that, it's been an absolute lifesaver for my RAM (even though Safari uses RAM very efficiently, I still push it very hard)
2023-08-07 02:52:25 +0200 <yin> geekosaur: do NOT send me a link about that rn
2023-08-07 02:54:03 +0200 <glguy> Axman6: I'm talking about base. If you are talking about another library I didn't read enough backlog
2023-08-07 02:54:57 +0200Sciencentistguy4(~sciencent@hacksoc/ordinary-member)
2023-08-07 02:55:42 +0200 <Axman6> yeah, foldl's, but you happened to be correct about the types it used
2023-08-07 02:55:47 +0200 <yin> (chrome has native tab groups)
2023-08-07 02:57:16 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 260 seconds)
2023-08-07 02:57:17 +0200Sciencentistguy4Sciencentistguy
2023-08-07 02:57:34 +0200 <yin> Axman6: what is the meaning of "central moments"?
2023-08-07 02:58:23 +0200 <Axman6> mean, variance, kurtosis, skewness etc.
2023-08-07 02:58:48 +0200 <yin> got it
2023-08-07 02:58:49 +0200 <Axman6> (I think the first five are: length, mean, variance, skewness, kurtosis)
2023-08-07 03:02:47 +0200 <yin> ah, the term moment comes from physics which is from where i'm familiar with it in my language :)
2023-08-07 03:03:13 +0200yincloses tab
2023-08-07 03:03:38 +0200geekosaurwatches two more open
2023-08-07 03:05:16 +0200 <Axman6> If three more opened every time you closed one, you could call that hydration
2023-08-07 03:07:47 +0200razetime(~quassel@117.254.36.246) (Ping timeout: 260 seconds)
2023-08-07 03:08:15 +0200razetime(~quassel@117.254.37.77)
2023-08-07 03:08:43 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-08-07 03:10:08 +0200 <yin> damn you Axman6, why am i reading this now? https://en.m.wikipedia.org/wiki/Hydra_(genus)
2023-08-07 03:12:06 +0200bilegeek(~bilegeek@2600:1008:b0aa:9826:3cd0:f7c6:82d4:d441) (Ping timeout: 246 seconds)
2023-08-07 03:12:37 +0200 <lisbeths> Lets say that you are programming with pure lambdas. And lets say that you are applying your combinators from left to right only without parentheses using currying. Do there exist combinators that can act as control flow structures that can change the order of operations like parentheses normally do
2023-08-07 03:12:38 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 03:14:59 +0200 <lisbeths> I have found something sort of like this. A function that recursively eats infinite arguments. Every ither argument is expected to be a delimiter. If the delimiter is the combinator quit then the control structure is terminated. If the delimiter is left-paren then you would simulate a left parentheses. Similarly if the delimiter was right-paren you would simulate a right parentheses. This is a nestable control structure that is
2023-08-07 03:14:59 +0200 <lisbeths> a prefix and can be used simply by applying lambdas from left to right
2023-08-07 03:15:31 +0200 <dsal> What do you mean by "lambdas" in this context?
2023-08-07 03:16:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 03:19:39 +0200 <monochrom> I be damned if any language at all ever used parentheses for control flow.
2023-08-07 03:22:42 +0200 <yin> jackdk: your wiki/haskell/learning is gold
2023-08-07 03:22:53 +0200libertyprime(~libertypr@203.96.203.44)
2023-08-07 03:24:26 +0200 <lisbeths> A fully contained applyable lambda that doesn't contain any references to anything outside of itself
2023-08-07 03:24:30 +0200 <lisbeths> a combinator
2023-08-07 03:25:06 +0200 <jackdk> yin: thanks. We are lucky that this community has so many generous authors
2023-08-07 03:25:09 +0200 <geekosaur> monochrom, forth after a fashion?
2023-08-07 03:25:16 +0200 <lisbeths> Imagine a programming environment where you are only ably take combinators and apply them from left to right. How do you do control structured without haskell's parentheses
2023-08-07 03:26:22 +0200phma(~phma@host-67-44-208-165.hnremote.net) (Read error: Connection reset by peer)
2023-08-07 03:26:30 +0200 <lisbeths> a parentheses combinator would eat infinite combinators from the right and look for a terminating combinator that would tell it to return
2023-08-07 03:26:51 +0200phma(~phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa)
2023-08-07 03:29:47 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-07 03:32:18 +0200bratwurst(~dfadsva@2604:3d09:207f:f650::c3b) (Remote host closed the connection)
2023-08-07 03:34:25 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-08-07 03:50:59 +0200hiredman_(~hiredman@frontier1.downey.family)
2023-08-07 03:56:19 +0200jero98772(~jero98772@2800:484:1d84:300::3)
2023-08-07 03:58:47 +0200ec(~ec@gateway/tor-sasl/ec)
2023-08-07 03:58:49 +0200kaskal(~kaskal@2001:4bb8:2dd:a79d:1a7:8529:b79b:cfa) (Quit: ZNC - https://znc.in)
2023-08-07 04:03:15 +0200kaskal(~kaskal@213-147-167-98.nat.highway.webapn.at)
2023-08-07 04:11:22 +0200xff0x(~xff0x@2405:6580:b080:900:a81e:4fdc:9952:342d) (Ping timeout: 260 seconds)
2023-08-07 04:13:04 +0200ystael(~ystael@user/ystael) (Ping timeout: 260 seconds)
2023-08-07 04:15:27 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-08-07 04:20:26 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-07 04:21:35 +0200phma(~phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer)
2023-08-07 04:22:00 +0200phma(phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa)
2023-08-07 04:24:06 +0200libertyprime(~libertypr@203.96.203.44) (Quit: leaving)
2023-08-07 04:34:42 +0200td_(~td@i5387092A.versanet.de) (Ping timeout: 246 seconds)
2023-08-07 04:36:32 +0200td_(~td@i53870914.versanet.de)
2023-08-07 04:49:08 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-07 04:56:58 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
2023-08-07 04:59:35 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-08-07 04:59:36 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-08-07 04:59:36 +0200finn_elijaFinnElija
2023-08-07 05:01:46 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-08-07 05:02:41 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds)
2023-08-07 05:03:37 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2023-08-07 05:06:21 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 05:07:45 +0200slack1256(~slack1256@181.43.228.205)
2023-08-07 05:10:17 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-07 05:14:15 +0200phma(phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer)
2023-08-07 05:14:15 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 05:14:40 +0200phma(~phma@host-67-44-208-165.hnremote.net)
2023-08-07 05:17:14 +0200jero98772(~jero98772@2800:484:1d84:300::3) (Ping timeout: 260 seconds)
2023-08-07 05:18:48 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-07 05:21:02 +0200phma(~phma@host-67-44-208-165.hnremote.net) (Read error: Connection reset by peer)
2023-08-07 05:21:13 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-07 05:21:13 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-07 05:21:13 +0200wroathe(~wroathe@user/wroathe)
2023-08-07 05:21:26 +0200phma(phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa)
2023-08-07 05:22:11 +0200aforemny(~aforemny@i59F516F1.versanet.de)
2023-08-07 05:22:52 +0200aforemny_(~aforemny@i59F516D0.versanet.de) (Ping timeout: 246 seconds)
2023-08-07 05:24:29 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 05:25:07 +0200wroathe(~wroathe@user/wroathe) (Client Quit)
2023-08-07 05:25:23 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-07 05:25:23 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-07 05:25:23 +0200wroathe(~wroathe@user/wroathe)
2023-08-07 05:28:49 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 05:34:54 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-08-07 05:34:56 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-08-07 05:43:04 +0200mixfix41(~sdeny9ee@user/mixfix41)
2023-08-07 05:48:20 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-07 05:48:58 +0200seeg123456(~seeg12345@64.176.64.83)
2023-08-07 05:58:39 +0200shapr(~user@2600:1700:c640:3100:9415:bb5d:ae7f:5570) (Ping timeout: 260 seconds)
2023-08-07 06:00:28 +0200actioninja630(~actioninj@user/actioninja) (Quit: see ya mane)
2023-08-07 06:00:51 +0200actioninja6302(~actioninj@user/actioninja)
2023-08-07 06:11:18 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-07 06:15:22 +0200slack1256(~slack1256@181.43.228.205) (Ping timeout: 246 seconds)
2023-08-07 06:49:01 +0200Guest70(~Guest38@174.112.127.99) (Quit: Client closed)
2023-08-07 06:49:39 +0200Luj(~Luj@2a01:e0a:5f9:9681:4671:33b1:6b71:1aab) (Quit: Ping timeout (120 seconds))
2023-08-07 06:50:00 +0200Luj(~Luj@2a01:e0a:5f9:9681:48e4:24ca:6fdb:7ec3)
2023-08-07 06:52:48 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
2023-08-07 06:53:39 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-08-07 06:58:59 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 07:04:33 +0200trev(~trev@user/trev)
2023-08-07 07:05:24 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 07:09:44 +0200slack1256(~slack1256@181.43.88.77)
2023-08-07 07:18:25 +0200slack1256(~slack1256@181.43.88.77) (Ping timeout: 240 seconds)
2023-08-07 07:26:11 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-07 07:26:24 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 07:28:29 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 260 seconds)
2023-08-07 07:29:13 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
2023-08-07 07:30:30 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-07 07:33:08 +0200haskl(~haskl@user/haskl) (Remote host closed the connection)
2023-08-07 07:33:28 +0200haskl(~haskl@user/haskl)
2023-08-07 07:41:31 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-08-07 07:47:32 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-07 07:48:01 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-08-07 07:49:29 +0200kenran(~user@user/kenran)
2023-08-07 07:50:42 +0200xkuru(~xkuru@user/xkuru) (Ping timeout: 246 seconds)
2023-08-07 07:54:07 +0200bilegeek(~bilegeek@2600:1008:b03b:113:6537:9170:87d0:e696)
2023-08-07 08:01:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-07 08:06:13 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-08-07 08:27:49 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2023-08-07 08:29:41 +0200 <Axman6> jackdk: btw, along with that video about Core, you might want to add some of the ones from this year's GHC Contributors Workshop (available on https://www.youtube.com/@HaskellFoundation)
2023-08-07 08:29:46 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Ping timeout: 246 seconds)
2023-08-07 08:30:28 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a)
2023-08-07 08:33:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-07 08:37:26 +0200seeg123456(~seeg12345@64.176.64.83) ()
2023-08-07 08:44:41 +0200lortabac(~lortabac@2a01:e0a:50d:8d40:7c4c:d965:f783:279f)
2023-08-07 08:49:10 +0200michalz(~michalz@185.246.207.215)
2023-08-07 08:49:39 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Read error: Connection reset by peer)
2023-08-07 08:49:58 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a)
2023-08-07 08:52:46 +0200titibandit(~titibandi@user/titibandit)
2023-08-07 08:57:34 +0200Vajb(~Vajb@2001:999:704:b8c8:e14b:a6fe:34f9:7c8b)
2023-08-07 08:59:33 +0200titibandit(~titibandi@user/titibandit) (Read error: Connection reset by peer)
2023-08-07 09:02:35 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Ping timeout: 245 seconds)
2023-08-07 09:05:37 +0200vglfr(~vglfr@145.224.100.231)
2023-08-07 09:13:12 +0200seeg123456(~seeg12345@64.176.64.83)
2023-08-07 09:13:29 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-07 09:16:13 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-07 09:16:40 +0200mauke(~mauke@user/mauke) (Ping timeout: 246 seconds)
2023-08-07 09:19:50 +0200titibandit(~titibandi@user/titibandit)
2023-08-07 09:20:51 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-07 09:20:55 +0200qhong(~qhong@DN160vrd000d6kpg009l6c0000fj.stanford.edu) (Read error: Connection reset by peer)
2023-08-07 09:21:13 +0200qhong(~qhong@DN160vrd000d6kpg009l6c0000fj.stanford.edu)
2023-08-07 09:25:25 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-08-07 09:26:04 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 09:27:38 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-08-07 09:27:52 +0200titibandit(~titibandi@user/titibandit) (Read error: Connection reset by peer)
2023-08-07 09:28:01 +0200taupiqueur(~taupiqueu@lneuilly-657-1-103-124.w80-15.abo.wanadoo.fr)
2023-08-07 09:28:21 +0200Square2(~Square@user/square)
2023-08-07 09:28:27 +0200cfricke(~cfricke@user/cfricke)
2023-08-07 09:28:27 +0200 <sm> was it always the case that ChanServe sends a message every time you connect here ? Finding it a bit noisy
2023-08-07 09:38:55 +0200titibandit(~titibandi@user/titibandit)
2023-08-07 09:42:03 +0200titibandit(~titibandi@user/titibandit) (Read error: Connection reset by peer)
2023-08-07 09:46:08 +0200zeenk(~zeenk@2a02:2f04:a110:8d00::7fe)
2023-08-07 09:47:03 +0200titibandit(~titibandi@user/titibandit)
2023-08-07 09:47:04 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-08-07 09:47:55 +0200titibandit(~titibandi@user/titibandit)
2023-08-07 09:50:27 +0200MajorBiscuit(~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl)
2023-08-07 09:50:34 +0200MajorBiscuit(~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl) (Client Quit)
2023-08-07 09:50:52 +0200MajorBiscuit(~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl)
2023-08-07 09:52:50 +0200titibandit(~titibandi@user/titibandit) (Read error: Connection reset by peer)
2023-08-07 09:53:09 +0200zeenk(~zeenk@2a02:2f04:a110:8d00::7fe) (Remote host closed the connection)
2023-08-07 09:53:32 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-08-07 09:53:32 +0200zeenk(~zeenk@2a02:2f04:a110:8d00::fba)
2023-08-07 09:53:38 +0200acidjnk(~acidjnk@p200300d6e7072f488d7b2a00ab71d1ea.dip0.t-ipconnect.de)
2023-08-07 09:55:38 +0200mmhat(~mmh@p200300f1c73d19ffee086bfffe095315.dip0.t-ipconnect.de)
2023-08-07 09:55:43 +0200phma(phma@2001:5b0:210d:fef8:25dd:a689:321e:57aa) (Read error: Connection reset by peer)
2023-08-07 09:56:31 +0200phma(~phma@host-67-44-208-168.hnremote.net)
2023-08-07 09:58:57 +0200titibandit(~titibandi@user/titibandit)
2023-08-07 09:59:09 +0200chele(~chele@user/chele)
2023-08-07 09:59:45 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-07 10:03:21 +0200Square2(~Square@user/square) (Ping timeout: 246 seconds)
2023-08-07 10:06:21 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
2023-08-07 10:07:28 +0200seeg123456(~seeg12345@64.176.64.83) (Quit: Gateway shutdown)
2023-08-07 10:08:04 +0200mima(~mmh@net-93-67-213-210.cust.vodafonedsl.it)
2023-08-07 10:09:12 +0200seeg123456(~seeg12345@64.176.64.83)
2023-08-07 10:13:22 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 246 seconds)
2023-08-07 10:17:30 +0200euandreh(~Thunderbi@189.6.18.7)
2023-08-07 10:17:54 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 10:22:54 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2023-08-07 10:23:29 +0200razetime(~quassel@117.254.37.77) (Ping timeout: 260 seconds)
2023-08-07 10:25:49 +0200Pickchea(~private@user/pickchea)
2023-08-07 10:28:05 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-07 10:28:50 +0200danse-nr3(~francesco@ba-19-128-146.service.infuturo.it)
2023-08-07 10:28:59 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-07 10:39:04 +0200CiaoSen(~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef)
2023-08-07 10:42:19 +0200razetime(~quassel@117.254.37.77)
2023-08-07 10:43:57 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-08-07 10:46:05 +0200libertyprime(~libertypr@203.96.203.44)
2023-08-07 10:47:14 +0200bilegeek(~bilegeek@2600:1008:b03b:113:6537:9170:87d0:e696) (Quit: Leaving)
2023-08-07 10:49:47 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 10:52:42 +0200vglfr(~vglfr@145.224.100.231) (Ping timeout: 260 seconds)
2023-08-07 10:53:05 +0200vglfr(~vglfr@145.224.100.231)
2023-08-07 10:53:28 +0200gehmehgeh(~user@user/gehmehgeh)
2023-08-07 10:56:23 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds)
2023-08-07 10:58:35 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 11:02:17 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-08-07 11:02:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 11:04:36 +0200vglfr(~vglfr@145.224.100.231) (Ping timeout: 246 seconds)
2023-08-07 11:05:17 +0200misterfish(~misterfis@87.215.131.102)
2023-08-07 11:11:39 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a)
2023-08-07 11:14:12 +0200fendor(~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3)
2023-08-07 11:14:18 +0200neminis(~neminis@2001:861:3102:4280:d6a9:d99:d886:7ff5)
2023-08-07 11:15:59 +0200neminis(~neminis@2001:861:3102:4280:d6a9:d99:d886:7ff5) (Client Quit)
2023-08-07 11:16:48 +0200ubert(~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Remote host closed the connection)
2023-08-07 11:17:10 +0200ubert(~Thunderbi@77.119.215.66.wireless.dyn.drei.com)
2023-08-07 11:17:48 +0200ft(~ft@p3e9bcd02.dip0.t-ipconnect.de) (Quit: leaving)
2023-08-07 11:18:18 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 11:18:52 +0200chreekat(~b@dys040yd52g4v55v1vgry-3.rev.dnainternet.fi)
2023-08-07 11:20:18 +0200ubert(~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Remote host closed the connection)
2023-08-07 11:20:38 +0200ubert(~Thunderbi@77.119.215.66.wireless.dyn.drei.com)
2023-08-07 11:22:35 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-07 11:25:37 +0200chreekat(~b@dys040yd52g4v55v1vgry-3.rev.dnainternet.fi) (Quit: quitting)
2023-08-07 11:27:53 +0200titiband1t(~titibandi@user/titibandit)
2023-08-07 11:31:29 +0200titiband1t(~titibandi@user/titibandit) (Remote host closed the connection)
2023-08-07 11:31:29 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 11:32:18 +0200gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2023-08-07 11:32:24 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-08-07 11:32:53 +0200ec(~ec@gateway/tor-sasl/ec)
2023-08-07 11:32:58 +0200gehmehgeh(~user@user/gehmehgeh)
2023-08-07 11:33:00 +0200Pickchea(~private@user/pickchea) (Ping timeout: 245 seconds)
2023-08-07 11:35:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-07 11:41:38 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2023-08-07 11:43:48 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-07 11:48:34 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2023-08-07 11:49:17 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-08-07 11:54:04 +0200razetime(~quassel@117.254.37.77) (Remote host closed the connection)
2023-08-07 11:54:47 +0200Benzi-Junior(~BenziJuni@dsl-149-64-112.hive.is) (Ping timeout: 246 seconds)
2023-08-07 11:57:21 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-08-07 11:58:27 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 12:00:11 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-07 12:02:49 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4412:cedf:3c2a:7919)
2023-08-07 12:06:12 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 12:06:54 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-08-07 12:06:55 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:4412:cedf:3c2a:7919) (Ping timeout: 240 seconds)
2023-08-07 12:07:57 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 246 seconds)
2023-08-07 12:12:57 +0200Inst_(~Inst@2601:6c4:4081:2fc0:1819:b44d:a133:3985) (Remote host closed the connection)
2023-08-07 12:13:21 +0200Inst_(~Inst@2601:6c4:4081:2fc0:1819:b44d:a133:3985)
2023-08-07 12:16:07 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving)
2023-08-07 12:16:14 +0200Minnozz(~minnozz@salix.minnozz.com)
2023-08-07 12:16:35 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-08-07 12:16:43 +0200 <ph88> where can i find the list type in the docs ?
2023-08-07 12:16:58 +0200Typedfern(~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2023-08-07 12:18:43 +0200 <Minnozz> hi, I want to upgrade from GHC 9.2.8 to 9.6.2 and would like to read the relevant changelogs for this upgrade path. are they aggregated somewhere or do I need to look at every separate changelog from all minor versions in between?
2023-08-07 12:19:54 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 12:20:11 +0200 <ncf> ph88: the list type itself is built in, because of the special syntax
2023-08-07 12:20:51 +0200 <ncf> that said, there is https://hackage.haskell.org/package/base-4.18.0.0/docs/GHC-List.html
2023-08-07 12:20:52 +0200 <xerox> https://www.stackage.org/haddock/lts-21.6/ghc-prim-0.9.0/src/GHC.Types.html#/GHC.Types.html
2023-08-07 12:21:07 +0200 <xerox> there is the standard definition in here
2023-08-07 12:22:10 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 245 seconds)
2023-08-07 12:22:59 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 12:23:46 +0200 <ph88> thanks guys
2023-08-07 12:27:03 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 12:27:25 +0200libertyprime(~libertypr@203.96.203.44) (Ping timeout: 240 seconds)
2023-08-07 12:29:32 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Ping timeout: 260 seconds)
2023-08-07 12:31:18 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-07 12:31:35 +0200Typedfern(~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net)
2023-08-07 12:35:16 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-07 12:37:26 +0200libertyprime(~libertypr@203.96.203.44)
2023-08-07 12:38:22 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-08-07 12:38:45 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-08-07 12:39:30 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-07 12:40:45 +0200 <ph88> can anyone explain how sequenceA works? i saw sequenceA and traverse being implemented while using each other which didn't help for understanding https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#traverse
2023-08-07 12:40:51 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2023-08-07 12:41:00 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 12:41:44 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 260 seconds)
2023-08-07 12:43:08 +0200 <ncf> % sequenceA [do print 1; return 2, do print 3; return 4]
2023-08-07 12:43:08 +0200 <yahb2> 1 ; 3 ; [2,4]
2023-08-07 12:43:25 +0200CiaoSen(~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds)
2023-08-07 12:43:44 +0200 <ncf> % traverse (\(a, b) -> do print a; return b) [(1, 2), (3, 4)]
2023-08-07 12:43:44 +0200 <yahb2> 1 ; 3 ; [2,4]
2023-08-07 12:44:01 +0200 <ncf> % traverse (\action -> action) [do print 1; return 2, do print 3; return 4]
2023-08-07 12:44:01 +0200 <yahb2> 1 ; 3 ; [2,4]
2023-08-07 12:44:09 +0200 <ncf> sequenceA = traverse id
2023-08-07 12:44:11 +0200 <ncf> ph88: does this help?
2023-08-07 12:44:49 +0200 <dminuoso> ph88: sequenceA is usually just a clutch. With `traverse` you sort of write a (a -> f a) effect that maps each element. But sometimes you end up with say a list of not numbers, but IO actions.
2023-08-07 12:45:18 +0200 <dminuoso> `sequenceA = traverse id` is really the best way to describe it.
2023-08-07 12:45:55 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 240 seconds)
2023-08-07 12:46:32 +0200 <dminuoso> ph88: It might also help to start thinking about traverse_ and sequenceA_ first.
2023-08-07 12:46:38 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-08-07 12:46:57 +0200 <dminuoso> % sequenceA [putStr "Hello", putStr ", ", putStr "World"]
2023-08-07 12:46:57 +0200 <yahb2> Hello, World[(),(),()]
2023-08-07 12:47:00 +0200 <dminuoso> % sequenceA_ [putStr "Hello", putStr ", ", putStr "World"]
2023-08-07 12:47:01 +0200 <yahb2> <interactive>:35:1: error: ; • Variable not in scope: sequenceA_ :: [IO ()] -> t ; • Perhaps you meant one of these: ; ‘sequence_’ (imported from Prelude), ; ‘sequenceA’ (im...
2023-08-07 12:47:06 +0200 <dminuoso> % import Data.Foldable
2023-08-07 12:47:06 +0200 <yahb2> <no output>
2023-08-07 12:47:07 +0200 <dminuoso> % sequenceA_ [putStr "Hello", putStr ", ", putStr "World"]
2023-08-07 12:47:07 +0200 <yahb2> Hello, World
2023-08-07 12:47:27 +0200 <dminuoso> % traverse_ putStr ["Hello", ", ", "World"]
2023-08-07 12:47:27 +0200 <yahb2> Hello, World
2023-08-07 12:47:50 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-07 12:48:02 +0200 <ncf> there's a whole bunch of functions that can be desribed as some other function + fmap: traverse f = sequenceA . fmap f; foldMap f = fold . fmap f; (>>= f) = join . fmap f
2023-08-07 12:49:29 +0200 <ncf> or described
2023-08-07 12:49:38 +0200 <ph88> % fmap pure [1,2,3] :: [Maybe Int]
2023-08-07 12:49:38 +0200 <yahb2> [Just 1,Just 2,Just 3]
2023-08-07 12:49:42 +0200 <ph88> this i get
2023-08-07 12:49:50 +0200 <ph88> % sequenceA (Just [1,2,3] :: Maybe [Int])
2023-08-07 12:49:50 +0200 <yahb2> [Just 1,Just 2,Just 3]
2023-08-07 12:50:00 +0200 <ph88> here i don't know how sequenceA get rid of the outer Just
2023-08-07 12:50:21 +0200 <dminuoso> ph88: Oh, there is an instance `Traversable Maybe`
2023-08-07 12:50:58 +0200 <dminuoso> And the "effect" here is the [] effect.
2023-08-07 12:51:06 +0200 <dminuoso> This example is quite treacherous.
2023-08-07 12:51:12 +0200 <ph88> what is the step by step process that these functions do ? so far i only understand them by seeing the result they have but it didn't give me an inituition for it
2023-08-07 12:51:26 +0200 <dminuoso> ph88: Start by picking Applicative f ~ Applicative IO
2023-08-07 12:51:30 +0200 <dminuoso> And Traversable ~ []
2023-08-07 12:51:34 +0200 <dminuoso> This is a good starting step.
2023-08-07 12:51:41 +0200 <dminuoso> % sequenceA [putStr "Hello", putStr ", ", putStr "World"]
2023-08-07 12:51:41 +0200 <yahb2> Hello, World[(),(),()]
2023-08-07 12:51:48 +0200 <dminuoso> % sequenceA_ [putStr "Hello", putStr ", ", putStr "World"
2023-08-07 12:51:48 +0200 <yahb2> <interactive>:49:56: error: ; parse error (possibly incorrect indentation or mismatched brackets)
2023-08-07 12:51:50 +0200 <dminuoso> % sequenceA_ [putStr "Hello", putStr ", ", putStr "World"]
2023-08-07 12:51:50 +0200 <yahb2> Hello, World
2023-08-07 12:51:53 +0200 <dminuoso> % traverse_ putStr ["Hello", ", ", "World"]
2023-08-07 12:51:53 +0200 <yahb2> Hello, World
2023-08-07 12:51:54 +0200 <ncf> sequenceA (Just a) = Just <$> a
2023-08-07 12:52:09 +0200 <ncf> this is part of the Traversable Maybe instance
2023-08-07 12:52:29 +0200 <dminuoso> ncf: Well, the more "surprising" bit is the [] applicative effect here.
2023-08-07 12:52:34 +0200 <dminuoso> Its what makes this example look strange.
2023-08-07 12:53:14 +0200 <ncf> if you understand `fmap pure [1, 2, 3] :: [Maybe Int]` then you also understand `Just <$> [1, 2, 3]`
2023-08-07 12:53:38 +0200 <ph88> yes i understand that part
2023-08-07 12:54:59 +0200 <ph88> when i look at sequenceA (Just [1,2,3] :: Maybe [Int]) i imagine fmap pure would be the last step that sequenceA is doing. What is the first step that gets rid of the outer Just? this step `Just [1,2,3]` -> [1,2,3]`
2023-08-07 12:55:11 +0200 <ncf> <ncf> sequenceA (Just a) = Just <$> a
2023-08-07 12:55:30 +0200 <dminuoso> ph88: Here's a different perspective:
2023-08-07 12:55:32 +0200 <dminuoso> % :t sequenceA
2023-08-07 12:55:32 +0200 <yahb2> sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)
2023-08-07 12:55:39 +0200 <dminuoso> ph88: Look how `t` and `f` get swapped around.
2023-08-07 12:55:49 +0200 <dminuoso> It turns `[IO Int]` into `IO [Int]`
2023-08-07 12:55:59 +0200 <dminuoso> It turns `Maybe [Int]` into `[Maybe Int]`
2023-08-07 12:56:29 +0200 <ph88> i understand it on the type level and on the results that come out of the function. But i don't know how i could write these functions from scratch to see what the steps are how they work
2023-08-07 12:56:45 +0200acidjnk(~acidjnk@p200300d6e7072f488d7b2a00ab71d1ea.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-08-07 12:56:45 +0200 <dminuoso> 12:55:11 ncf | <ncf> sequenceA (Just a) = Just <$> a
2023-08-07 12:56:52 +0200 <dminuoso> It's really that simple.
2023-08-07 12:57:16 +0200 <dminuoso> ph88: https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#line-294
2023-08-07 12:57:31 +0200 <dminuoso> If we take the definition:
2023-08-07 12:57:39 +0200 <dminuoso> sequenceA = traverse id
2023-08-07 12:57:46 +0200 <dminuoso> And
2023-08-07 12:57:48 +0200 <dminuoso> traverse f (Just x) = Just <$> f x
2023-08-07 12:59:03 +0200 <dminuoso> Then `sequenceA (Just [1,2,3])` can be simplified to `traverse id (Just [1,2,3])`, which then by that definition is just `Just <$> id [1,2,3])`, which is just `Just <$> [1,2,3]`
2023-08-07 12:59:26 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 13:00:56 +0200acidjnk(~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de)
2023-08-07 13:01:06 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-07 13:01:21 +0200 <ph88> instead of Maybe if i had a tuple. instance Traversable (x,) where it would also be defined somewhere ?
2023-08-07 13:01:34 +0200 <ncf> certainly
2023-08-07 13:01:46 +0200 <ncf> https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#line-317
2023-08-07 13:01:59 +0200 <ph88> oooohhhh
2023-08-07 13:02:02 +0200 <dminuoso> ph88: There is no "default generic instance" that magically works.
2023-08-07 13:02:05 +0200 <dminuoso> Its defined for each type separately.
2023-08-07 13:02:15 +0200 <ncf> % sequenceA ("hi", [1,2,3])
2023-08-07 13:02:15 +0200 <yahb2> [("hi",1),("hi",2),("hi",3)]
2023-08-07 13:02:19 +0200 <dminuoso> See the list of Instances below https://hackage.haskell.org/package/base-4.18.0.0/docs/Prelude.html#t:Traversable
2023-08-07 13:03:29 +0200 <ph88> The other day i was asking about this traverse (\a -> maybe ([], a) (\a' -> ([a], a')) (f a)) l which then after a while i understood on the type level, but i was missing the step about the tuple being a traversable. i think i got the complete picture now
2023-08-07 13:04:25 +0200 <ncf> well, this is not using the Traversable instance for tuples. it's using the Traversable instance for lists, and the Applicative instance for tuples
2023-08-07 13:05:10 +0200 <ncf> in other words, lists are the data structure we're traversing, and "tuples" ("writer") is the effect we're traversing them with
2023-08-07 13:05:55 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-07 13:06:42 +0200 <ncf> so the relevant instances are https://hackage.haskell.org/package/base-4.18.0.0/docs/src/GHC.Base.html#line-523 and Traversable [] (why can't i find this in hackage?)
2023-08-07 13:06:59 +0200 <ncf> oh https://hackage.haskell.org/package/base-4.18.0.0/docs/src/Data.Traversable.html#line-299
2023-08-07 13:07:06 +0200 <ncf> it's listed as "Traversable List". that's new
2023-08-07 13:07:31 +0200xff0x(~xff0x@2405:6580:b080:900:5573:85d0:d008:cbd3)
2023-08-07 13:08:38 +0200libertyprime(~libertypr@203.96.203.44) (Ping timeout: 246 seconds)
2023-08-07 13:09:04 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-07 13:09:45 +0200 <ph88> thanks for the help
2023-08-07 13:10:02 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 13:16:17 +0200xkuru(~xkuru@user/xkuru)
2023-08-07 13:17:26 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-08-07 13:17:41 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-07 13:18:00 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-07 13:19:45 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 13:22:02 +0200libertyprime(~libertypr@203.96.203.44)
2023-08-07 13:22:20 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 244 seconds)
2023-08-07 13:23:53 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-08-07 13:26:12 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 13:36:25 +0200CiaoSen(~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef)
2023-08-07 13:37:29 +0200seeg123456(~seeg12345@64.176.64.83) (Quit: Gateway shutdown)
2023-08-07 13:39:19 +0200seeg123456(~seeg12345@64.176.64.83)
2023-08-07 13:40:05 +0200danse-nr3(~francesco@ba-19-128-146.service.infuturo.it) (Ping timeout: 245 seconds)
2023-08-07 13:48:09 +0200kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2023-08-07 13:49:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 13:51:22 +0200mei(~mei@user/mei) (Quit: mei)
2023-08-07 13:51:47 +0200xkuru(~xkuru@user/xkuru) (Ping timeout: 244 seconds)
2023-08-07 13:53:44 +0200ub(~Thunderbi@77.119.215.66.wireless.dyn.drei.com)
2023-08-07 13:53:57 +0200seeg123456(~seeg12345@64.176.64.83) (Quit: Gateway shutdown)
2023-08-07 13:54:18 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds)
2023-08-07 13:54:28 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-08-07 13:55:24 +0200libertyprime(~libertypr@203.96.203.44) (Ping timeout: 244 seconds)
2023-08-07 13:57:16 +0200seeg123456(~seeg12345@64.176.64.83)
2023-08-07 14:00:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-07 14:00:17 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 14:01:25 +0200ub(~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Quit: ub)
2023-08-07 14:05:36 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-08-07 14:06:22 +0200ubert(~Thunderbi@77.119.215.66.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2023-08-07 14:08:21 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-07 14:14:11 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds)
2023-08-07 14:15:16 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 14:18:43 +0200taupiqueur(~taupiqueu@lneuilly-657-1-103-124.w80-15.abo.wanadoo.fr) (Quit: WeeChat 4.0.2)
2023-08-07 14:20:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 252 seconds)
2023-08-07 14:26:19 +0200euandreh(~Thunderbi@189.6.18.7)
2023-08-07 14:27:56 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-08-07 14:33:21 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-07 14:36:45 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-07 14:39:34 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 14:40:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-07 14:43:27 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 14:44:04 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-07 14:44:50 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 14:45:20 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-07 14:45:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-08-07 14:47:46 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2023-08-07 14:52:53 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 14:56:16 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-08-07 15:03:17 +0200Guest45(~Guest45@37.160.131.221)
2023-08-07 15:03:33 +0200Guest45(~Guest45@37.160.131.221) ()
2023-08-07 15:03:44 +0200Guest45(~Guest45@37.160.131.221)
2023-08-07 15:05:59 +0200xkuru(~xkuru@user/xkuru)
2023-08-07 15:07:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-07 15:07:48 +0200danse-nr3(~francesco@ba-19-132-122.service.infuturo.it)
2023-08-07 15:08:10 +0200Benzi-Junior(~BenziJuni@dsl-149-64-112.hive.is)
2023-08-07 15:08:22 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection)
2023-08-07 15:09:07 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds)
2023-08-07 15:11:54 +0200danse-nr3(~francesco@ba-19-132-122.service.infuturo.it) (Remote host closed the connection)
2023-08-07 15:12:17 +0200danse-nr3(~francesco@ba-19-132-122.service.infuturo.it)
2023-08-07 15:14:16 +0200kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection)
2023-08-07 15:15:25 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 246 seconds)
2023-08-07 15:16:43 +0200euandreh(~Thunderbi@189.6.18.7)
2023-08-07 15:18:50 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-08-07 15:19:41 +0200asivitz(uid178348@id-178348.tinside.irccloud.com)
2023-08-07 15:22:01 +0200mmhat(~mmh@p200300f1c73d19ffee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.2)
2023-08-07 15:22:33 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-07 15:35:26 +0200shapr(~user@2600:1700:c640:3100:27d9:ee57:10d2:44ba)
2023-08-07 15:37:32 +0200stef204(~stef204@user/stef204)
2023-08-07 15:40:22 +0200ddellacosta(~ddellacos@146.70.166.184)
2023-08-07 15:41:13 +0200titibandit(~titibandi@user/titibandit)
2023-08-07 15:43:22 +0200 <yin> let's say i have a `IntMap [a]` and I want to write a performant function that 1) compares the heads of all elements and does some computation that changes them (the head elements) and proceed to compare the second elements and so on...
2023-08-07 15:44:53 +0200 <yin> are there more appropriate data structures for doing this? and how would i write such a function in a way that is fast?
2023-08-07 15:45:29 +0200danse-nr3(~francesco@ba-19-132-122.service.infuturo.it) (Ping timeout: 260 seconds)
2023-08-07 15:45:55 +0200 <yin> think 3D cellular automata
2023-08-07 15:47:11 +0200 <yin> sort of. more like interacting layers of 2D
2023-08-07 15:47:42 +0200Guest45(~Guest45@37.160.131.221) (Ping timeout: 246 seconds)
2023-08-07 15:48:09 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-07 15:48:09 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-07 15:48:09 +0200wroathe(~wroathe@user/wroathe)
2023-08-07 15:48:55 +0200slack1256(~slack1256@181.43.90.77)
2023-08-07 15:51:15 +0200Pickchea(~private@user/pickchea)
2023-08-07 15:52:56 +0200 <probie> How big is the automata?
2023-08-07 15:56:00 +0200 <yin> small for now. it's a hexagonal grid with around 11 nodes of radius and indefinite heigh (the heads of my lists are tge bottom so max z-level in potentially infinite)
2023-08-07 15:56:10 +0200 <yin> i want to see how far i can take this
2023-08-07 15:57:08 +0200 <yin> each node holds a reference to all adjacent nodes on the same z-level, so type Node = ([Cell],[Map Dir Int])
2023-08-07 15:57:44 +0200 <yin> so it's actually an IntMap Node
2023-08-07 15:59:30 +0200 <yin> correction: type Node = ([Cell], Map Dir Int)
2023-08-07 16:01:35 +0200 <yin> the simulation starts on the bottom layer (the head of my lists) and travels upwards
2023-08-07 16:02:19 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-08-07 16:03:47 +0200 <yin> i'm trying to avoid using non funcctional data structures like Array
2023-08-07 16:04:13 +0200ijqq_(uid603979@id-603979.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-07 16:04:56 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Remote host closed the connection)
2023-08-07 16:06:20 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2023-08-07 16:06:20 +0200acidjnk(~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-08-07 16:13:36 +0200shaprhops quietly
2023-08-07 16:13:38 +0200 <shapr> GOOD MORNING
2023-08-07 16:14:04 +0200ulysses4ever(~artem@38.42.227.237) (Ping timeout: 260 seconds)
2023-08-07 16:15:53 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds)
2023-08-07 16:16:22 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-07 16:17:25 +0200nick4(~nick@2600:8807:9084:7800:8141:f2b0:61a7:53a9) (Ping timeout: 240 seconds)
2023-08-07 16:18:20 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-07 16:22:07 +0200acidjnk(~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de)
2023-08-07 16:22:51 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 260 seconds)
2023-08-07 16:26:41 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 16:27:06 +0200thegeekinside(~thegeekin@189.180.67.183)
2023-08-07 16:28:10 +0200byorgeywaves good morning to shapr
2023-08-07 16:30:25 +0200 <byorgey> yin: storing it by ID like that, it seems to me it will become more and more inefficient as you go up the layers, since every time you look up a node ID you will have to traverse through the list to the right layer. How about using [IntMap Node] instead? i.e. a list of layers, where each layer is a collection of nodes by ID
2023-08-07 16:31:27 +0200kenran(~user@user/kenran) (Remote host closed the connection)
2023-08-07 16:32:26 +0200nick4(~nick@2600:100d:b145:37b1:487b:9d17:9eab:ee88)
2023-08-07 16:32:33 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-08-07 16:33:25 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-08-07 16:35:00 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 16:35:12 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds)
2023-08-07 16:35:37 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-07 16:39:30 +0200ripspin(~chatzilla@1.145.244.14)
2023-08-07 16:39:48 +0200shapr(~user@2600:1700:c640:3100:27d9:ee57:10d2:44ba) (Remote host closed the connection)
2023-08-07 16:40:02 +0200shapr(~user@2600:1700:c640:3100:7465:c926:e2a0:e1d8)
2023-08-07 16:40:22 +0200alexherbo2(~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr)
2023-08-07 16:40:23 +0200 <shapr> good morning byorgey! Nice to see you here
2023-08-07 16:40:39 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 16:40:49 +0200danse-nr3(~francesco@ba-19-132-122.service.infuturo.it)
2023-08-07 16:41:58 +0200alexherbo2(~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2023-08-07 16:46:33 +0200nick4(~nick@2600:100d:b145:37b1:487b:9d17:9eab:ee88) (Ping timeout: 246 seconds)
2023-08-07 16:48:25 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Remote host closed the connection)
2023-08-07 16:48:41 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 16:51:27 +0200misterfish(~misterfis@87.215.131.102) (Ping timeout: 246 seconds)
2023-08-07 16:53:04 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds)
2023-08-07 16:53:23 +0200 <yin> byorgey: the simulation only needs to run bottom-up, so i was thinking it would be more efficient to process every nth element of all [Cell] on each step
2023-08-07 16:54:26 +0200Lycurgus(~juan@user/Lycurgus)
2023-08-07 16:55:19 +0200 <yin> that's what I'm trying to figure out how to do
2023-08-07 16:56:58 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-08-07 16:57:18 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 16:57:58 +0200gurkenglas(~gurkengla@dynamic-046-114-090-161.46.114.pool.telefonica.de)
2023-08-07 16:58:15 +0200 <yin> so like `step (x:x1:xs) = f x x1 : step (x1:xs)` but somehow for every list at the same time
2023-08-07 17:00:34 +0200 <yin> (because every x needs to be aware of neighbours)
2023-08-07 17:01:00 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 17:01:42 +0200 <yin> so it's like: take the first 2 layers, calculate the updated first layers and forget about it, on to 2nd and 3rd and so on...
2023-08-07 17:02:16 +0200 <yin> s/updated first layers/updated first layer
2023-08-07 17:03:10 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-08-07 17:03:47 +0200ripspin(~chatzilla@1.145.244.14) (Remote host closed the connection)
2023-08-07 17:06:17 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-07 17:06:45 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 245 seconds)
2023-08-07 17:07:09 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-08-07 17:07:18 +0200 <ncf> why not [IntMap (Cell, ...)] ?
2023-08-07 17:07:54 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Tschüss)
2023-08-07 17:11:02 +0200jero98772(~jero98772@2800:484:1d84:300::3)
2023-08-07 17:11:36 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2023-08-07 17:15:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-07 17:17:25 +0200CiaoSen(~Jura@2a05:5800:296:9800:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds)
2023-08-07 17:19:50 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-07 17:22:01 +0200nick4(~nick@wsip-174-78-110-18.pn.at.cox.net)
2023-08-07 17:23:22 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-08-07 17:24:25 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-08-07 17:24:33 +0200alexherbo2(~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr)
2023-08-07 17:24:35 +0200alexherbo2(~alexherbo@2a01cb000b1eec001411a588c41916b2.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2023-08-07 17:25:58 +0200thegeekinside(~thegeekin@189.180.67.183) (Ping timeout: 246 seconds)
2023-08-07 17:26:25 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-07 17:29:18 +0200asivitz(uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-07 17:29:52 +0200 <yin> bacause one of the most intensive operations is comparing each node with the node above
2023-08-07 17:30:30 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds)
2023-08-07 17:31:39 +0200 <yin> it's really convenient to have "vertical" lists
2023-08-07 17:32:26 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-08-07 17:32:34 +0200 <yin> where the head is the bottom one
2023-08-07 17:34:49 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-07 17:35:03 +0200 <yin> one of the operations is removing one node where all the nodes above "fall" one level, which can be just removing the node from the list
2023-08-07 17:35:29 +0200 <yin> i will rarely lookup a node by z-level
2023-08-07 17:35:42 +0200 <yin> if that makes sense
2023-08-07 17:35:45 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-07 17:36:52 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-07 17:37:08 +0200 <yin> every step is like a foldr from each bottom node upwards
2023-08-07 17:38:47 +0200lortabac(~lortabac@2a01:e0a:50d:8d40:7c4c:d965:f783:279f) (Quit: WeeChat 2.8)
2023-08-07 17:41:00 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 17:44:31 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2023-08-07 17:46:19 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 4.0.2)
2023-08-07 17:48:16 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-08-07 17:52:04 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 260 seconds)
2023-08-07 17:53:53 +0200shriekingnoise_(~shrieking@186.137.175.87)
2023-08-07 17:56:03 +0200shriekin-(~shrieking@186.137.175.87)
2023-08-07 17:56:11 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 260 seconds)
2023-08-07 17:57:43 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2023-08-07 17:58:17 +0200shriekingnoise_(~shrieking@186.137.175.87) (Ping timeout: 245 seconds)
2023-08-07 17:58:42 +0200xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2023-08-07 18:01:29 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 18:04:41 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30)
2023-08-07 18:05:37 +0200slac22860(~slack1256@181.203.167.101)
2023-08-07 18:05:46 +0200 <yin> and by intensive i (also) mean frequent
2023-08-07 18:07:15 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 246 seconds)
2023-08-07 18:07:35 +0200slack1256(~slack1256@181.43.90.77) (Ping timeout: 245 seconds)
2023-08-07 18:09:55 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-07 18:15:59 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-08-07 18:19:24 +0200 <EvanR> in the end, when it starts to become clear that every viewport needs to be optimized, you end up with a database xD
2023-08-07 18:19:33 +0200 <EvanR> viewpoint*
2023-08-07 18:19:56 +0200 <EvanR> indexed sets of records
2023-08-07 18:21:08 +0200 <monochrom> :)
2023-08-07 18:21:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2023-08-07 18:23:49 +0200MajorBiscuit(~MajorBisc@c-001-005-039.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6)
2023-08-07 18:28:18 +0200chexum_(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
2023-08-07 18:29:13 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2023-08-07 18:31:14 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-08-07 18:38:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-08-07 18:40:43 +0200danse-nr3(~francesco@ba-19-132-122.service.infuturo.it) (Read error: Connection reset by peer)
2023-08-07 18:43:08 +0200qqq(~qqq@92.43.167.61)
2023-08-07 18:46:57 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2023-08-07 18:47:16 +0200mauke(~mauke@user/mauke)
2023-08-07 18:53:53 +0200zeenk(~zeenk@2a02:2f04:a110:8d00::fba) (Quit: Konversation terminated!)
2023-08-07 18:54:54 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-07 18:56:32 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-07 19:00:01 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-08-07 19:00:22 +0200thegeekinside(~thegeekin@189.180.67.183)
2023-08-07 19:05:24 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-08-07 19:07:55 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
2023-08-07 19:10:10 +0200trev(~trev@user/trev) (Quit: trev)
2023-08-07 19:16:13 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-08-07 19:19:55 +0200jinsl(~jinsl@2408:8207:2550:b730:211:32ff:fec8:6aea) (Quit: ZNC - https://znc.in)
2023-08-07 19:20:11 +0200jinsl(~jinsl@2408:8207:2550:b730:211:32ff:fec8:6aea)
2023-08-07 19:31:26 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-07 19:34:40 +0200sm(~sm@plaintextaccounting/sm)
2023-08-07 19:38:29 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-08-07 19:40:39 +0200asivitz(uid178348@id-178348.tinside.irccloud.com)
2023-08-07 19:42:48 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 19:46:39 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk)
2023-08-07 19:47:25 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 240 seconds)
2023-08-07 19:50:30 +0200thegeekinside(~thegeekin@189.180.67.183) (Ping timeout: 245 seconds)
2023-08-07 19:52:56 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 244 seconds)
2023-08-07 20:10:47 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 20:11:00 +0200shapr(~user@2600:1700:c640:3100:7465:c926:e2a0:e1d8) (Remote host closed the connection)
2023-08-07 20:11:14 +0200shapr(~user@2600:1700:c640:3100:defa:aba2:b992:8010)
2023-08-07 20:15:12 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 250 seconds)
2023-08-07 20:19:16 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-08-07 20:23:21 +0200slack1256(~slack1256@181.43.226.77)
2023-08-07 20:24:36 +0200mima(~mmh@net-93-67-213-210.cust.vodafonedsl.it) (Ping timeout: 245 seconds)
2023-08-07 20:25:25 +0200slac22860(~slack1256@181.203.167.101) (Ping timeout: 240 seconds)
2023-08-07 20:33:39 +0200Inst_(~Inst@2601:6c4:4081:2fc0:1819:b44d:a133:3985) (Ping timeout: 260 seconds)
2023-08-07 20:34:03 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer)
2023-08-07 20:34:23 +0200ulysses4ever(~artem@144.121.34.82)
2023-08-07 20:35:30 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2023-08-07 20:38:57 +0200ulysses4ever(~artem@144.121.34.82) (Ping timeout: 260 seconds)
2023-08-07 20:40:03 +0200danse-nr3(~francesco@an-19-183-182.service.infuturo.it)
2023-08-07 20:40:21 +0200danse-nr3(~francesco@an-19-183-182.service.infuturo.it) (Remote host closed the connection)
2023-08-07 20:40:43 +0200danse-nr3(~francesco@an-19-183-182.service.infuturo.it)
2023-08-07 20:44:08 +0200Feuermagier(~Feuermagi@user/feuermagier)
2023-08-07 20:44:24 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2023-08-07 20:48:30 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-08-07 20:49:49 +0200ulysses4ever(~artem@144.121.34.82)
2023-08-07 20:53:33 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-08-07 20:54:46 +0200thelounge793(~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) (Quit: Ping timeout (120 seconds))
2023-08-07 20:55:01 +0200thelounge793(~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3)
2023-08-07 20:55:27 +0200nick4(~nick@wsip-174-78-110-18.pn.at.cox.net) (Ping timeout: 244 seconds)
2023-08-07 20:55:36 +0200mima(~mmh@net-93-67-213-210.cust.vodafonedsl.it)
2023-08-07 20:58:58 +0200gmg(~user@user/gehmehgeh)
2023-08-07 21:00:26 +0200ulysses4ever(~artem@144.121.34.82) (Ping timeout: 245 seconds)
2023-08-07 21:03:06 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 246 seconds)
2023-08-07 21:04:34 +0200ulysses4ever(~artem@144.121.34.82)
2023-08-07 21:09:49 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-07 21:10:22 +0200mIRC-rockcavera(mirc-rockc@179.152.251.228)
2023-08-07 21:10:26 +0200mIRC-rockcavera(mirc-rockc@179.152.251.228) ()
2023-08-07 21:11:00 +0200ulysses4ever(~artem@144.121.34.82) (Ping timeout: 246 seconds)
2023-08-07 21:14:20 +0200dfg(~dfg@user/dfg) (Quit: I hate quit messages.)
2023-08-07 21:15:27 +0200dfg(~dfg@dfg.rocks)
2023-08-07 21:15:27 +0200dfg(~dfg@dfg.rocks) (Changing host)
2023-08-07 21:15:27 +0200dfg(~dfg@user/dfg)
2023-08-07 21:16:04 +0200ft(~ft@p3e9bcd02.dip0.t-ipconnect.de)
2023-08-07 21:22:01 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-07 21:26:33 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-07 21:28:07 +0200pavonia(~user@user/siracusa)
2023-08-07 21:32:42 +0200shapr(~user@2600:1700:c640:3100:defa:aba2:b992:8010) (Remote host closed the connection)
2023-08-07 21:32:56 +0200shapr(~user@2600:1700:c640:3100:9bfa:62f3:d638:17fe)
2023-08-07 21:33:28 +0200ReinhildeAmyMalik
2023-08-07 21:33:36 +0200dfg(~dfg@user/dfg) (Quit: I hate quit messages.)
2023-08-07 21:34:15 +0200simikando(~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds)
2023-08-07 21:34:41 +0200dfg(~dfg@dfg.rocks)
2023-08-07 21:34:41 +0200dfg(~dfg@dfg.rocks) (Changing host)
2023-08-07 21:34:41 +0200dfg(~dfg@user/dfg)
2023-08-07 21:35:11 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 21:38:46 +0200 <yin> ignoring my specific implementation, i think i condensed the problem i came up with to its simplest form: https://paste.jrvieira.com/1691437013507
2023-08-07 21:39:22 +0200Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 244 seconds)
2023-08-07 21:39:22 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds)
2023-08-07 21:40:12 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 260 seconds)
2023-08-07 21:41:23 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-08-07 21:44:16 +0200 <ncf> the answer is probably something like ZipList + traverse, which is some kind of transposition, which would effectively amount to switching your representation to [IntMap Cell] for the sake of iterating
2023-08-07 21:44:23 +0200 <int-e> > let g n f = transpose . map (take n . map (f . take n) . tails . cycle) . transpose in g 2 (\[x,y] -> x-y) [[1,2,3],[4,6,8]]
2023-08-07 21:44:24 +0200 <lambdabot> [[-3,-4,-5],[3,4,5]]
2023-08-07 21:44:41 +0200 <int-e> (I just like `transpose`)
2023-08-07 21:44:45 +0200 <ncf> :t transpose
2023-08-07 21:44:46 +0200 <lambdabot> [[a]] -> [[a]]
2023-08-07 21:45:00 +0200 <ncf> yeah, ZipList would be the general version of that for NonLists-of-Lists
2023-08-07 21:45:33 +0200dfg(~dfg@user/dfg) (Quit: I hate quit messages.)
2023-08-07 21:45:52 +0200 <int-e> (it's not right either because apparently we want to work with 2xn values here.
2023-08-07 21:46:24 +0200 <int-e> or, at least, n+1
2023-08-07 21:46:28 +0200int-eshrugs
2023-08-07 21:46:39 +0200dfg(~dfg@dfg.rocks)
2023-08-07 21:46:39 +0200dfg(~dfg@dfg.rocks) (Changing host)
2023-08-07 21:46:39 +0200dfg(~dfg@user/dfg)
2023-08-07 21:47:33 +0200dfg(~dfg@user/dfg) (Client Quit)
2023-08-07 21:47:38 +0200 <ncf> that said, i'm not sure how much sense "<yin> i'm trying to avoid using non funcctional data structures like Array" makes
2023-08-07 21:48:05 +0200 <int-e> I wouldn't know, btw, how `g x y` and `g y x` are supposed to generalize to more than two entries.
2023-08-07 21:48:27 +0200 <int-e> is it a cyclic shift? is it selecting one element and keeping the order of the rest?
2023-08-07 21:48:30 +0200 <yin> ncf: this is a toy project that i'm using as an excuse to exercise functional programming
2023-08-07 21:48:46 +0200 <int-e> :i zip3
2023-08-07 21:48:55 +0200 <int-e> :t zip3
2023-08-07 21:48:56 +0200 <lambdabot> [a] -> [b] -> [c] -> [(a, b, c)]
2023-08-07 21:49:35 +0200dfg(~dfg@dfg.rocks)
2023-08-07 21:49:35 +0200dfg(~dfg@dfg.rocks) (Changing host)
2023-08-07 21:49:36 +0200dfg(~dfg@user/dfg)
2023-08-07 21:50:00 +0200 <int-e> I guess my "insight" here is that `transpose` is a `zipN` if the list of lists is a rectangle.
2023-08-07 21:50:23 +0200 <yin> int-e: in my specific case, g only cares about adjacent Cells in an hexagonal grid so it will ignore all but 6 lists
2023-08-07 21:50:24 +0200asivitz(uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-07 21:51:26 +0200 <int-e> you may be abstracting too much at this point
2023-08-07 21:52:04 +0200 <yin> the arbitrary amount of lists will live in an IntMap, so `step :: IntMap [Cell] -> IntMap [Cell]`
2023-08-07 21:52:54 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com)
2023-08-07 21:52:55 +0200ulysses4ever(~artem@144.121.34.82)
2023-08-07 21:52:57 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-07 21:53:41 +0200artem(~artem@144.121.34.82)
2023-08-07 21:53:55 +0200 <yin> ok let me parse what you said :)
2023-08-07 21:54:01 +0200Wojciech_K(~Wojciech_@2a01:4f9:6a:18a8::239) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2023-08-07 21:55:34 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl)
2023-08-07 21:56:50 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30) (Remote host closed the connection)
2023-08-07 21:57:10 +0200ulysses4ever(~artem@144.121.34.82) (Ping timeout: 245 seconds)
2023-08-07 21:57:43 +0200 <ncf> someone should probably mention comonads at some point
2023-08-07 21:57:53 +0200 <yin> oh god
2023-08-07 21:58:00 +0200artem(~artem@144.121.34.82) (Ping timeout: 245 seconds)
2023-08-07 22:01:31 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
2023-08-07 22:01:56 +0200TheCatCollective(NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow)
2023-08-07 22:03:37 +0200TheCatCollective(NyaaTheKit@user/calculuscat)
2023-08-07 22:06:13 +0200ulysses4ever(~artem@144.121.34.82)
2023-08-07 22:06:48 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-08-07 22:07:49 +0200 <int-e> hehe, Data.List stops as `zip7`; that's one short for this purpose
2023-08-07 22:08:37 +0200artem(~artem@144.121.34.82)
2023-08-07 22:09:05 +0200 <yin> ok comonads seem simple enough
2023-08-07 22:09:36 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Ping timeout: 246 seconds)
2023-08-07 22:09:53 +0200TheCatCollective(NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow)
2023-08-07 22:10:25 +0200danse-nr3(~francesco@an-19-183-182.service.infuturo.it) (Ping timeout: 240 seconds)
2023-08-07 22:10:29 +0200ulysses4ever(~artem@144.121.34.82) (Ping timeout: 260 seconds)
2023-08-07 22:10:51 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a)
2023-08-07 22:11:32 +0200TheCatCollective(NyaaTheKit@user/calculuscat)
2023-08-07 22:11:32 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Read error: Connection reset by peer)
2023-08-07 22:12:49 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a)
2023-08-07 22:12:55 +0200artem(~artem@144.121.34.82) (Ping timeout: 240 seconds)
2023-08-07 22:13:23 +0200ulysses4ever(~artem@144.121.34.82)
2023-08-07 22:15:04 +0200vglfr(~vglfr@2a0d:3344:148d:7a00:4a1:4700:9098:dd1a) (Read error: Connection reset by peer)
2023-08-07 22:15:49 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-07 22:16:19 +0200vglfr(~vglfr@145.224.100.231)
2023-08-07 22:20:54 +0200Pickchea(~private@user/pickchea)
2023-08-07 22:21:02 +0200vglfr(~vglfr@145.224.100.231) (Ping timeout: 260 seconds)
2023-08-07 22:23:00 +0200vglfr(~vglfr@188.239.201.89)
2023-08-07 22:24:31 +0200artem(~artem@144.121.34.82)
2023-08-07 22:25:04 +0200ulysses4ever(~artem@144.121.34.82) (Ping timeout: 260 seconds)
2023-08-07 22:27:28 +0200gurkenglas(~gurkengla@dynamic-046-114-090-161.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-08-07 22:29:58 +0200 <int-e> hmm, a prototype: https://paste.tomsmeding.com/yW9dXL0t -- wonder what ncf thinks about it :)
2023-08-07 22:30:40 +0200danza(~francesco@an-19-183-182.service.infuturo.it)
2023-08-07 22:31:13 +0200 <int-e> oh is that a traverse?
2023-08-07 22:31:31 +0200artem(~artem@144.121.34.82) (Ping timeout: 260 seconds)
2023-08-07 22:32:06 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 22:33:17 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-08-07 22:33:39 +0200 <int-e> (no it isn't, because `traverse` isn't a zip)
2023-08-07 22:34:39 +0200danza(~francesco@an-19-183-182.service.infuturo.it) (Remote host closed the connection)
2023-08-07 22:35:02 +0200danza(~francesco@an-19-183-182.service.infuturo.it)
2023-08-07 22:35:54 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-07 22:36:47 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2023-08-07 22:37:57 +0200 <ncf> int-e: getZipList . traverse ZipList ?
2023-08-07 22:39:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-07 22:41:47 +0200 <int-e> ncf: ah, that would work.
2023-08-07 22:42:50 +0200 <int-e> (but there's also some charm to only using `Functor`)
2023-08-07 22:43:43 +0200ulysses4ever(~artem@2607:fb90:ad4a:4cb9:77a0:9d1f:9d74:ddae)
2023-08-07 22:44:48 +0200 <int-e> And it does accomplish the main goal as I understand it... namely, it avoids unnecessary boilerplate for dealing with different neighbourhood shapes.
2023-08-07 22:45:17 +0200 <int-e> s/unnecessary//
2023-08-07 22:50:54 +0200shapr(~user@2600:1700:c640:3100:9bfa:62f3:d638:17fe) (Remote host closed the connection)
2023-08-07 22:51:07 +0200shapr(~user@2600:1700:c640:3100:de71:e1d6:7cf3:d6a9)
2023-08-07 22:54:19 +0200michalz(~michalz@185.246.207.215) (Remote host closed the connection)
2023-08-07 22:57:19 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30)
2023-08-07 22:58:36 +0200danza(~francesco@an-19-183-182.service.infuturo.it) (Ping timeout: 246 seconds)
2023-08-07 23:00:01 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 23:01:49 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:5cca:964e:ffad:4e30) (Ping timeout: 260 seconds)
2023-08-07 23:04:15 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-07 23:07:11 +0200ystael(~ystael@user/ystael)
2023-08-07 23:08:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-07 23:10:54 +0200nick4(~nick@2600:8807:9084:7800:e088:85db:e105:cf5e)
2023-08-07 23:15:15 +0200misterfish(~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 246 seconds)
2023-08-07 23:17:38 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-08-07 23:21:41 +0200nick4(~nick@2600:8807:9084:7800:e088:85db:e105:cf5e) (Ping timeout: 260 seconds)
2023-08-07 23:22:52 +0200Feuermagier(~Feuermagi@user/feuermagier)
2023-08-07 23:27:18 +0200fendor(~fendor@2a02:8388:1640:be00:b586:6c06:a58:19a3) (Remote host closed the connection)
2023-08-07 23:29:18 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-07 23:30:59 +0200nick4(~nick@2600:8807:9084:7800:e088:85db:e105:cf5e)
2023-08-07 23:32:35 +0200acidjnk(~acidjnk@p200300d6e7072f48b040639f689e504f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-08-07 23:34:40 +0200Vajb(~Vajb@2001:999:704:b8c8:e14b:a6fe:34f9:7c8b) (Ping timeout: 245 seconds)
2023-08-07 23:35:40 +0200Vajb(~Vajb@2001:999:58d:647c:664f:4b4f:efff:9b44)
2023-08-07 23:36:20 +0200nick4(~nick@2600:8807:9084:7800:e088:85db:e105:cf5e) (Ping timeout: 245 seconds)
2023-08-07 23:36:47 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-08-07 23:39:53 +0200danse-nr3(~francesco@an-19-183-182.service.infuturo.it)
2023-08-07 23:40:33 +0200danse-nr3(~francesco@an-19-183-182.service.infuturo.it) (Remote host closed the connection)
2023-08-07 23:41:03 +0200danse-nr3(~francesco@an-19-183-182.service.infuturo.it)
2023-08-07 23:44:00 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-08-07 23:44:20 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-08-07 23:45:51 +0200mima(~mmh@net-93-67-213-210.cust.vodafonedsl.it) (Ping timeout: 245 seconds)
2023-08-07 23:51:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-07 23:52:09 +0200jero98772(~jero98772@2800:484:1d84:300::3) (Ping timeout: 246 seconds)
2023-08-07 23:53:31 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net)
2023-08-07 23:55:30 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-07 23:57:09 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-08-07 23:58:00 +0200cptaffe(~cptaffe@99-47-99-155.lightspeed.ltrkar.sbcglobal.net) (Ping timeout: 245 seconds)
2023-08-07 23:59:03 +0200talismanick(~user@campus-013-245.ucdavis.edu)
2023-08-07 23:59:06 +0200_xor(~xor@ip-50-5-233-250.dynamic.fuse.net)
2023-08-07 23:59:35 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)