2022/06/25

2022-06-25 00:00:07 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-06-25 00:00:23 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-25 00:02:23 +0200werneta(~werneta@137.78.30.207) (Ping timeout: 246 seconds)
2022-06-25 00:02:56 +0200 <geekosaur> hlint doesn't understand types
2022-06-25 00:03:14 +0200 <geekosaur> it looks for questionable code, it does not typecheck
2022-06-25 00:03:25 +0200 <hololeap> I don't think those are hlint-related errors
2022-06-25 00:03:54 +0200 <hololeap> HLS seems to work better for me when I generate hie.yaml in the root of the project (next to *.cabal)
2022-06-25 00:03:56 +0200xacktm(xacktm@user/xacktm)
2022-06-25 00:10:05 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 246 seconds)
2022-06-25 00:10:22 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-06-25 00:10:42 +0200 <hololeap> also, friendly reminder that #haskell-language-server exists
2022-06-25 00:11:03 +0200 <hololeap> it's kinda low traffic, though
2022-06-25 00:12:09 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2022-06-25 00:12:09 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-06-25 00:13:06 +0200 <maerwald> geekosaur: oh, there was a link? :>
2022-06-25 00:13:35 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-06-25 00:13:59 +0200 <maerwald> yeah, add a hie.yaml
2022-06-25 00:16:29 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-06-25 00:18:15 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 268 seconds)
2022-06-25 00:20:38 +0200 <EvanR> this stackexchange hot question looks pretty good: since accessing an array is O(1) then the key type has to be finite, so traversing any array must be O(1). but in question form
2022-06-25 00:21:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-25 00:24:10 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds)
2022-06-25 00:25:44 +0200 <mon_aaraj> ah, nice. i'll try haskell-language-server. thank you all so much for the helf already
2022-06-25 00:27:38 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-06-25 00:29:32 +0200stackdroid18(14094@user/stackdroid)
2022-06-25 00:33:04 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-06-25 00:48:20 +0200liz_(~liz@host86-159-158-175.range86-159.btcentralplus.com) (Quit: Lost terminal)
2022-06-25 00:53:08 +0200moet(~moet@lib-02-subnet-194.rdns.cenic.net) (Ping timeout: 246 seconds)
2022-06-25 00:54:47 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-25 00:58:24 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-06-25 01:01:31 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-25 01:04:25 +0200 <AndreasK> EvanR: A good case of technically correct being the best kind of correct?
2022-06-25 01:04:41 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-25 01:05:36 +0200 <AndreasK> Comparing a pointer against every address in 64bit address space is also technically O(1) in the same way. Not quite fast though
2022-06-25 01:06:55 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-25 01:06:56 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) (Quit: Konversation terminated!)
2022-06-25 01:07:28 +0200 <darkling> If all your inputs are bounded, everything's O(1), right? :)
2022-06-25 01:08:05 +0200pleo(~pleo@user/pleo) (Quit: quit)
2022-06-25 01:09:18 +0200 <AndreasK> If your algorithm is terminating I guess so
2022-06-25 01:10:31 +0200 <EvanR> in this case it seems better to be incorrect
2022-06-25 01:15:11 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-25 01:17:20 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-25 01:24:14 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-06-25 01:24:46 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-06-25 01:26:16 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-06-25 01:26:28 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2022-06-25 01:28:56 +0200Lord_of_Life_Lord_of_Life
2022-06-25 01:31:01 +0200AlexZenon(~alzenon@178.34.160.206) (Ping timeout: 268 seconds)
2022-06-25 01:31:01 +0200Alex_test(~al_test@178.34.160.206) (Ping timeout: 268 seconds)
2022-06-25 01:33:49 +0200Alex_test(~al_test@178.34.160.206)
2022-06-25 01:33:52 +0200AlexZenon(~alzenon@178.34.160.206)
2022-06-25 01:35:20 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:8f05:e6fa:1178:1d79) (Ping timeout: 272 seconds)
2022-06-25 01:39:48 +0200oatsboats
2022-06-25 01:42:52 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection)
2022-06-25 01:43:05 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-06-25 01:44:57 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2022-06-25 01:45:45 +0200nate4(~nate@98.45.169.16)
2022-06-25 01:47:11 +0200liz_(~liz@host86-159-158-175.range86-159.btcentralplus.com)
2022-06-25 01:48:19 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 01:48:38 +0200moonsheep(~user@user/moonsheep) (Remote host closed the connection)
2022-06-25 01:48:47 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 246 seconds)
2022-06-25 01:48:55 +0200moet(~moet@mobile-166-177-248-140.mycingular.net)
2022-06-25 01:50:15 +0200nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-06-25 01:50:30 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 264 seconds)
2022-06-25 01:50:57 +0200boatsoats
2022-06-25 01:51:22 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-25 01:52:25 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 248 seconds)
2022-06-25 01:53:35 +0200son0p(~ff@181.136.122.143)
2022-06-25 01:54:23 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-06-25 01:55:07 +0200cdsmith63(~cdsmith@c-73-184-127-183.hsd1.ga.comcast.net)
2022-06-25 01:58:17 +0200even4void(even4void@came.here.for-some.fun) (Ping timeout: 248 seconds)
2022-06-25 01:58:46 +0200xacktm(xacktm@user/xacktm) (Ping timeout: 272 seconds)
2022-06-25 01:59:38 +0200superz(~superegg@user/superegg) (Ping timeout: 246 seconds)
2022-06-25 02:00:20 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 246 seconds)
2022-06-25 02:00:37 +0200alp(~alp@user/alp) (Ping timeout: 268 seconds)
2022-06-25 02:00:51 +0200 <cdsmith> Hmm... I have a type for which I really want to use <|>, but empty cannot exist. Why, oh why, did Alternative have to put both in the same class?
2022-06-25 02:01:18 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Ping timeout: 272 seconds)
2022-06-25 02:01:22 +0200 <jackdk> cdsmith: https://hackage.haskell.org/package/semigroupoids . Look for `class Alt` and `(<!>)` specifically
2022-06-25 02:02:01 +0200Tuplanolla(~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.)
2022-06-25 02:02:16 +0200 <cdsmith> Ah, okay. Thanks!
2022-06-25 02:04:30 +0200moet(~moet@mobile-166-177-248-140.mycingular.net) (Ping timeout: 240 seconds)
2022-06-25 02:04:51 +0200moet(~moet@mobile-166-170-39-82.mycingular.net)
2022-06-25 02:13:45 +0200even4void(even4void@came.here.for-some.fun)
2022-06-25 02:14:53 +0200 <cdsmith> Here's a weirder one. I want something analogous to Functor, but fmap must be given a bijection rather than an arbitrary function.
2022-06-25 02:16:36 +0200 <cdsmith> Basically, a valid use of Apply at https://github.com/shapr/trynocular/blob/46b988d73425d9e390407e5d8688f6778492769f/src/Trynocular.h… really ought to have a bijection, and ought to include both directions of the correspondence.
2022-06-25 02:18:03 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-06-25 02:20:33 +0200 <jackdk> cdsmith: `class Invariant` from https://hackage.haskell.org/package/invariant ?
2022-06-25 02:20:58 +0200 <cdsmith> Oooh, you're good!
2022-06-25 02:22:01 +0200 <cdsmith> Though... doing this will break the Alt instance. Hmm. Yeah, use of something like <!> would require proving that the two alternatives yield non-overlapping values...
2022-06-25 02:22:10 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-06-25 02:23:07 +0200xacktm(xacktm@user/xacktm)
2022-06-25 02:23:15 +0200 <cdsmith> Okay, I need to think about how to keep some kind of ergonomics here.
2022-06-25 02:31:09 +0200AndChat-624225(~trace@user/trace)
2022-06-25 02:32:14 +0200alexhandy2(~trace@user/trace) (Read error: Connection reset by peer)
2022-06-25 02:33:10 +0200alexhandy(~trace@user/trace)
2022-06-25 02:35:03 +0200 <zzz> question: why can't we drop the f in fmap? we could leave it as an alias for backwards compatibility but other than that i don't see what the problem is
2022-06-25 02:35:46 +0200AndChat-624225(~trace@user/trace) (Ping timeout: 268 seconds)
2022-06-25 02:36:06 +0200 <cdsmith63> Making the change would break existing code that relies on `map` to monomorphize an expression and thus resolve ambiguous types, I guess.
2022-06-25 02:36:21 +0200 <zzz> ah.
2022-06-25 02:36:27 +0200 <zzz> fair
2022-06-25 02:37:20 +0200 <cdsmith63> And there's a fair cohort of Haskellers (esp. in education) that believe that concrete types are more usable.  Overloading is, in general, the enemy of comprehensible error messages.
2022-06-25 02:37:41 +0200 <zzz> althougj if you're relying on map to monomorphize you deserve to get broken
2022-06-25 02:38:24 +0200 <geekosaur> there are already major complaints about the amount of churn in the Haskell ecosystem
2022-06-25 02:38:37 +0200 <geekosaur> nobody wants to deal with the churn from that one
2022-06-25 02:38:58 +0200 <zzz> bah
2022-06-25 02:39:07 +0200 <zzz> avoid success at all costs
2022-06-25 02:39:39 +0200bilegeek(~bilegeek@2600:1008:b00c:f975:8f30:87a2:4ca8:5acd)
2022-06-25 02:40:00 +0200 <darkling> I've also read a comment that newcomers trying to use "map" would rather read an error message about maps than something obscure and technical about functors.
2022-06-25 02:40:31 +0200 <darkling> (I'm a newcomer -- no direct experience of that particular dichotomy myself)
2022-06-25 02:40:47 +0200 <geekosaur> you'll probably hit it with Foldable at some point
2022-06-25 02:40:49 +0200 <cdsmith> zzz: This is actually a great example of what "avoid success at all costs" meant in the past... and the fact that Haskell no longer follows that principle.
2022-06-25 02:41:45 +0200 <geekosaur> and Foldable's more perverse effects
2022-06-25 02:41:50 +0200 <geekosaur> > length (1,2,3)
2022-06-25 02:41:53 +0200 <lambdabot> error:
2022-06-25 02:41:53 +0200 <lambdabot> • No instance for (Foldable ((,,) Integer Integer))
2022-06-25 02:41:53 +0200 <lambdabot> arising from a use of ‘length’
2022-06-25 02:41:57 +0200 <cdsmith> "avoid success" suggests that, indeed, we should change things to match what our best current understanding of the ideal choice. But Haskell is already in a state where that's too painful to do.
2022-06-25 02:42:01 +0200 <geekosaur> > length (1,2)
2022-06-25 02:42:03 +0200 <lambdabot> 1
2022-06-25 02:43:23 +0200jargon(~jargon@184.101.186.108)
2022-06-25 02:44:12 +0200 <zzz> who are these newcommers anyway? when i first started i remember not understanding a single word the compiler threw at me and somehow i think that having map specialized didn't make thinks easier
2022-06-25 02:44:23 +0200 <cdsmith> Yeah, the Foldable ((,) a) instance is a perfect example of overloading being dangerous. It exists because it occasionally makes sense to think of ((,) a) as meaning "(oh, and also an a on the side but it doesn't really count)". But in the majority of cases, it doesn't actually mean that. The Foldable instance is the right one for the "also on the side" meaning, but shouldn't exist in the majority case.
2022-06-25 02:45:08 +0200 <Bulby[m]> geekosaur: why
2022-06-25 02:45:09 +0200 <geekosaur> zzz, there's that and then there's deliberately making it even more comprehensible
2022-06-25 02:45:29 +0200 <geekosaur> Bulby[m], because someone thought a Foldable instance for (,) made sense
2022-06-25 02:45:34 +0200 <Bulby[m]> cdsmith: bifoldable is more useful to me for tuples
2022-06-25 02:45:39 +0200 <geekosaur> I'm not convinced it ever does
2022-06-25 02:45:41 +0200 <Bulby[m]> oh this is irc
2022-06-25 02:45:42 +0200 <Bulby[m]> sorry
2022-06-25 02:46:01 +0200 <Bulby[m]> sorry for the matrix to irc jank
2022-06-25 02:46:20 +0200 <cdsmith> Bulby: Why? Because (1,2) sometimes (rarely) means "2 (and also a 1 on the side)" The 2 is the value. The "(1,)" is just context. So if you ask how many values there are, the answer is that there is 1.
2022-06-25 02:46:30 +0200 <geekosaur> it's just a type error trap the compiler *ought* to catch but now won't
2022-06-25 02:46:54 +0200 <Bulby[m]> well I guess a tuple is the product pair type
2022-06-25 02:47:09 +0200 <Bulby[m]> (pretend that makes sense)
2022-06-25 02:47:20 +0200 <zzz> i never agreed with the Functor instance of tuples but whatever
2022-06-25 02:47:38 +0200 <darkling> I pretend that most things on this channel make sense. I don't think it helps much. :)
2022-06-25 02:48:00 +0200 <EvanR> I like the Functor for tuples
2022-06-25 02:48:05 +0200 <darkling> I pretend good. ;)
2022-06-25 02:48:08 +0200 <Bulby[m]> the "these" lib describes what i want to say
2022-06-25 02:48:12 +0200 <EvanR> when it doesn't suck
2022-06-25 02:48:53 +0200 <Bulby[m]> an "inner join" type
2022-06-25 02:49:59 +0200 <zzz> EvanR: when do you find it useful?
2022-06-25 02:50:47 +0200 <jackdk> it enables the Traversable instance, which I often find useful
2022-06-25 02:51:28 +0200 <cdsmith> The Functor instance for ((,) a) is alright, because type changes propagate through fmap. The problem with the Foldable instance is primarily that members like `length` swallow type changes, breaking the general property that you can change a type and code that relied on that type fails to build.
2022-06-25 02:51:46 +0200 <EvanR> when I can't be arsed to make a wrapper type that tacks on a monomorphic decorator
2022-06-25 02:52:21 +0200 <cdsmith> i.e., if I used to have `f :: a -> [b]`, and I change it to `f :: a -> ([b], c)`, then old code that looked like `length (f x)` still builds, but returns the wrong result.
2022-06-25 02:52:48 +0200 <Bulby[m]> isn't Prelude length list specific
2022-06-25 02:52:59 +0200 <EvanR> :t length
2022-06-25 02:53:01 +0200 <lambdabot> Foldable t => t a -> Int
2022-06-25 02:53:02 +0200 <geekosaur> :t Prelude.length
2022-06-25 02:53:03 +0200 <EvanR> NO
2022-06-25 02:53:04 +0200 <lambdabot> Foldable t => t a -> Int
2022-06-25 02:53:11 +0200 <Bulby[m]> 😱
2022-06-25 02:53:26 +0200 <EvanR> the folding bridges proposal
2022-06-25 02:54:29 +0200moet(~moet@mobile-166-170-39-82.mycingular.net) (Quit: leaving)
2022-06-25 02:54:32 +0200stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-06-25 02:55:01 +0200 <Bulby[m]> part of the burning bridges proposal
2022-06-25 02:56:22 +0200 <ski> it would be nice if one could reexport an identifier, with a restricted type
2022-06-25 02:56:34 +0200 <Bulby[m]> seems niche
2022-06-25 02:56:35 +0200 <darkling> Did that come from Königsberg?
2022-06-25 02:57:46 +0200 <cdsmith> Fun story: some of the original seven bridges of Königsberg were, in fact, burned during WWII.
2022-06-25 02:57:58 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Ping timeout: 268 seconds)
2022-06-25 02:57:58 +0200even4void(even4void@came.here.for-some.fun) (Ping timeout: 268 seconds)
2022-06-25 02:58:00 +0200 <Bulby[m]> 😭
2022-06-25 02:58:03 +0200 <Bulby[m]> no more puzzles
2022-06-25 02:58:35 +0200xacktm(xacktm@user/xacktm) (Ping timeout: 268 seconds)
2022-06-25 02:58:44 +0200 <darkling> cdsmith: And they've built an eighth since, defeating the original solution... :)
2022-06-25 02:59:08 +0200 <darkling> Not to mention renaming the town.
2022-06-25 02:59:21 +0200 <Bulby[m]> original proof not solution right
2022-06-25 02:59:34 +0200 <darkling> Yeah.
2022-06-25 03:01:04 +0200 <darkling> I used to be a mathematician. I'm _allowed_ to be vague. ;)
2022-06-25 03:01:12 +0200 <darkling> (I'm better now)
2022-06-25 03:02:08 +0200 <Bulby[m]> i'm glad you're better
2022-06-25 03:04:30 +0200 <hpc> better at being vague?
2022-06-25 03:04:48 +0200 <darkling> It takes practice.
2022-06-25 03:07:37 +0200 <darkling> (As someone once said in another IRC channel: "everything darkling says is a joke; we just haven't got most of them yet." Do tell me to stop if it's annoying)
2022-06-25 03:14:00 +0200even4void(even4void@came.here.for-some.fun)
2022-06-25 03:18:48 +0200xacktm(xacktm@user/xacktm)
2022-06-25 03:22:08 +0200lainon(~lainon@2601:7c0:c500:4d20:c809:c5a6:6263:efd5)
2022-06-25 03:25:28 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-06-25 03:29:30 +0200quarkyalice_(~quarkyali@user/quarkyalice/x-8092822)
2022-06-25 03:29:51 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-06-25 03:29:59 +0200quarkyalice(~alice@user/quarkyalice)
2022-06-25 03:32:12 +0200quarkyalice_(~quarkyali@user/quarkyalice/x-8092822) (Client Quit)
2022-06-25 03:32:22 +0200quarkyalice(~alice@user/quarkyalice) (Client Quit)
2022-06-25 03:32:40 +0200quarkyalice(~alice@172.79.70.10)
2022-06-25 03:32:40 +0200quarkyalice(~alice@172.79.70.10) (Changing host)
2022-06-25 03:32:40 +0200quarkyalice(~alice@user/quarkyalice)
2022-06-25 03:35:55 +0200z0k(~z0k@206.84.143.59)
2022-06-25 03:42:51 +0200lainon(~lainon@2601:7c0:c500:4d20:c809:c5a6:6263:efd5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-06-25 03:44:16 +0200 <monochrom> I thought it was "I used to be a mathematician. Now I'm a comedian."
2022-06-25 03:47:30 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 03:47:51 +0200 <monochrom> At the crossroad where one road goes to heaven, and the other road goes to hell, there are three guardians. One of them tells you truths only. Another tells you lies only. And the third one tells you jokes only...
2022-06-25 03:49:35 +0200quarkyalice(~alice@user/quarkyalice) (Remote host closed the connection)
2022-06-25 03:49:45 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net)
2022-06-25 03:59:10 +0200frost(~frost@user/frost)
2022-06-25 04:00:07 +0200finsternis(~X@23.226.237.192)
2022-06-25 04:07:59 +0200nunggu(~q@user/nunggu)
2022-06-25 04:10:49 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 244 seconds)
2022-06-25 04:17:55 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-06-25 04:17:55 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-06-25 04:17:55 +0200finn_elijaFinnElija
2022-06-25 04:21:44 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-06-25 04:22:04 +0200 <zzz> when i was a kid i told my parents i wanted to be a comedian when i grew up, they laughed im my face. well, noone's lauvhing now!
2022-06-25 04:22:46 +0200 <zzz> *g
2022-06-25 04:23:05 +0200nunggu(~q@user/nunggu) (Ping timeout: 268 seconds)
2022-06-25 04:26:04 +0200nunggu(~q@user/nunggu)
2022-06-25 04:27:20 +0200 <monochrom> haha
2022-06-25 04:27:25 +0200nate4(~nate@98.45.169.16)
2022-06-25 04:30:52 +0200nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: quit)
2022-06-25 04:31:00 +0200nshepperd(nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
2022-06-25 04:34:41 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 246 seconds)
2022-06-25 04:38:18 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-25 04:42:01 +0200lainon(~lainon@2601:7c0:c500:4d20:c809:c5a6:6263:efd5)
2022-06-25 04:43:08 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 255 seconds)
2022-06-25 04:46:36 +0200td_(~td@94.134.91.109) (Ping timeout: 272 seconds)
2022-06-25 04:48:10 +0200td_(~td@muedsl-82-207-238-209.citykom.de)
2022-06-25 04:51:41 +0200nate4(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-06-25 04:54:02 +0200nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-06-25 04:54:49 +0200nunggu(~q@user/nunggu)
2022-06-25 04:56:43 +0200lainon(~lainon@2601:7c0:c500:4d20:c809:c5a6:6263:efd5) (Quit: Textual IRC Client: www.textualapp.com)
2022-06-25 05:00:00 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-06-25 05:00:01 +0200haasn(~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2022-06-25 05:00:12 +0200Vajb(~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06)
2022-06-25 05:00:56 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds)
2022-06-25 05:01:24 +0200haasn(~nand@haasn.dev)
2022-06-25 05:01:24 +0200Vajb(~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) (Read error: Connection reset by peer)
2022-06-25 05:05:08 +0200russruss(~russruss@my.russellmcc.com) (Ping timeout: 255 seconds)
2022-06-25 05:06:55 +0200russruss(~russruss@my.russellmcc.com)
2022-06-25 05:10:58 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-25 05:15:30 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-06-25 05:18:17 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
2022-06-25 05:20:54 +0200img(~img@user/img)
2022-06-25 05:23:55 +0200causal(~user@50.35.83.177)
2022-06-25 05:24:22 +0200mathr(~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net)
2022-06-25 05:24:27 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-06-25 05:26:05 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-25 05:26:35 +0200machinedgod(~machinedg@66.244.246.252) (Ping timeout: 268 seconds)
2022-06-25 05:28:05 +0200 <mathr> hi, I have a simple program that exhausts my RAM and I can't figure out why:
2022-06-25 05:28:06 +0200 <mathr> import Control.Monad (replicateM)
2022-06-25 05:28:06 +0200 <mathr> shapes bias p = [ s | m <- [0 .. p], s <- replicateM (fromInteger m + 2) [1 .. p], p == sum (zipWith (*) (map (bias +) s) (tail s)) ]
2022-06-25 05:28:09 +0200 <mathr> main = mapM_ (print . length . shapes 0) [1..10]
2022-06-25 05:30:50 +0200 <mathr> I know the run-time asymptotics will be terrible (O((p+2)^p) or something) but I thought laziness would mean each s in shapes could be collected and it'd run in O((p+2)*p) space
2022-06-25 05:42:05 +0200P1RATEZ(piratez@user/p1ratez)
2022-06-25 05:48:52 +0200nate4(~nate@98.45.169.16)
2022-06-25 05:54:20 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-06-25 06:02:56 +0200shiraeeshi(~shiraeesh@46.34.206.55)
2022-06-25 06:04:25 +0200quarkyalice(~quarkyali@user/quarkyalice)
2022-06-25 06:05:27 +0200quarkyalice(~quarkyali@user/quarkyalice) (Client Quit)
2022-06-25 06:13:33 +0200nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-06-25 06:14:10 +0200 <dsal> That looks super expensive to me because it's going to make a bunch of thunks.
2022-06-25 06:14:30 +0200 <dsal> Depending on your compiler version at least. Historically, `sum` is ridiculously expensive when used like that.
2022-06-25 06:18:13 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 06:18:50 +0200nunggu(~q@user/nunggu)
2022-06-25 06:22:24 +0200 <mathr> dsal: I figured out a version that doesn't space leak all the (:) from replicateM https://paste.tomsmeding.com/Oih8TQAv
2022-06-25 06:24:32 +0200 <mathr> now runs in constant space (less than 50kB) instead of exploding and getting OOM-killed on a desktop with 32GB RAM
2022-06-25 06:26:21 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net) (Quit: ,-)
2022-06-25 06:26:25 +0200nate4(~nate@98.45.169.16)
2022-06-25 06:27:03 +0200 <mathr> maybe the effects run in the wrong order compared to Control.Monad.replicateM, i only tested it with m == []
2022-06-25 06:31:35 +0200nate4(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-06-25 06:41:34 +0200 <dsal> !undo do { f <- fs; pure (f []) }
2022-06-25 06:41:39 +0200 <dsal> @undo do { f <- fs; pure (f []) }
2022-06-25 06:41:39 +0200 <lambdabot> fs >>= \ f -> pure (f [])
2022-06-25 06:43:39 +0200Infinite(~Infinite@49.39.119.176)
2022-06-25 06:44:03 +0200 <dsal> I don't quite get what replicateM is doing for you there.
2022-06-25 06:45:22 +0200 <mathr> > replicateM 3 "abc" -- Cartesian product
2022-06-25 06:45:24 +0200 <lambdabot> ["aaa","aab","aac","aba","abb","abc","aca","acb","acc","baa","bab","bac","bb...
2022-06-25 06:45:33 +0200 <dsal> Oh, yes, of course.
2022-06-25 06:46:41 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-06-25 06:46:45 +0200 <mathr> Control.Monad.replicateM retains the whole output list -> OOM killed when large, while the version I pasted using difference lists runs in small constant space
2022-06-25 06:46:56 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-06-25 06:47:46 +0200nate4(~nate@98.45.169.16)
2022-06-25 06:48:23 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-25 06:50:24 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-25 06:52:14 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-06-25 06:52:16 +0200 <[Leary]> You probably don't need to keep the difflist accumulator in m.
2022-06-25 06:58:28 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-06-25 07:28:59 +0200shiraeeshi(~shiraeesh@46.34.206.55) (Ping timeout: 246 seconds)
2022-06-25 07:33:38 +0200coot(~coot@213.134.190.95)
2022-06-25 07:36:06 +0200leeb(~leeb@KD106154144157.au-net.ne.jp) (Ping timeout: 264 seconds)
2022-06-25 07:37:56 +0200leeb(~leeb@KD106155002017.au-net.ne.jp)
2022-06-25 07:42:45 +0200perdent(~perdent@101.175.156.43)
2022-06-25 07:43:44 +0200Infinite(~Infinite@49.39.119.176) (Quit: Ping timeout (120 seconds))
2022-06-25 07:44:34 +0200Midjak(~Midjak@82.66.147.146)
2022-06-25 07:46:33 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca)
2022-06-25 07:53:50 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 246 seconds)
2022-06-25 07:57:08 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:e74a:b005:c722:73f7)
2022-06-25 08:00:52 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-25 08:03:06 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-06-25 08:04:00 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-06-25 08:09:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-25 08:11:14 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:e74a:b005:c722:73f7) (Ping timeout: 268 seconds)
2022-06-25 08:12:25 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-25 08:13:16 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-06-25 08:13:17 +0200echoreply(~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
2022-06-25 08:14:01 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-06-25 08:14:38 +0200echoreply(~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d)
2022-06-25 08:16:46 +0200tabemann(~tabemann@2600:1700:7990:24e0:defe:9c15:44ea:93a5) (Remote host closed the connection)
2022-06-25 08:17:04 +0200tabemann(~tabemann@2600:1700:7990:24e0:5b3:4d0f:e683:f449)
2022-06-25 08:22:08 +0200perdent(~perdent@101.175.156.43) (Quit: Client closed)
2022-06-25 08:24:24 +0200shiraeeshi(~shiraeesh@46.34.206.55)
2022-06-25 08:27:47 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca) (Ping timeout: 246 seconds)
2022-06-25 08:28:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-25 08:35:10 +0200perdent(~perdent@101.175.156.43)
2022-06-25 08:36:50 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-06-25 08:48:43 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 08:50:22 +0200random-jellyfish(~random-je@user/random-jellyfish)
2022-06-25 08:53:50 +0200mattil(~mattil@helsinki.portalify.com)
2022-06-25 08:55:50 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-25 08:58:02 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 272 seconds)
2022-06-25 08:59:32 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-25 09:00:32 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 255 seconds)
2022-06-25 09:09:46 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-25 09:10:00 +0200vglfr(~vglfr@coupling.penchant.volia.net)
2022-06-25 09:14:45 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Ping timeout: 268 seconds)
2022-06-25 09:18:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-25 09:20:18 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-25 09:20:27 +0200nunggu(~q@user/nunggu) (Quit: nunggu)
2022-06-25 09:23:02 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
2022-06-25 09:24:08 +0200mattil(~mattil@helsinki.portalify.com) (Ping timeout: 246 seconds)
2022-06-25 09:33:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-25 09:33:59 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-25 09:44:01 +0200phma(~phma@host-67-44-209-11.hnremote.net) (Read error: Connection reset by peer)
2022-06-25 09:44:59 +0200phma(phma@2001:5b0:211c:4d08:1069:cd39:8f5a:796f)
2022-06-25 09:46:15 +0200z0k(~z0k@206.84.143.59) (Ping timeout: 256 seconds)
2022-06-25 09:50:44 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 246 seconds)
2022-06-25 09:52:43 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-06-25 09:53:07 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3)
2022-06-25 09:55:32 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-25 10:01:02 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2022-06-25 10:03:35 +0200bilegeek(~bilegeek@2600:1008:b00c:f975:8f30:87a2:4ca8:5acd) (Quit: Leaving)
2022-06-25 10:04:46 +0200P1RATEZ(piratez@user/p1ratez) (Remote host closed the connection)
2022-06-25 10:10:08 +0200quarkyalice(~quarkyali@user/quarkyalice)
2022-06-25 10:12:13 +0200quarkyalice(~quarkyali@user/quarkyalice) (Client Quit)
2022-06-25 10:12:47 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-06-25 10:16:22 +0200BusConscious(~martin@ip5f5bdf01.dynamic.kabel-deutschland.de)
2022-06-25 10:16:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-25 10:17:52 +0200Tuplanolla(~Tuplanoll@91-159-69-97.elisa-laajakaista.fi)
2022-06-25 10:20:02 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:59fa:73d0:5de3:cb11)
2022-06-25 10:20:28 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it) (Read error: Connection reset by peer)
2022-06-25 10:24:30 +0200acidjnk(~acidjnk@dynamic-046-114-173-051.46.114.pool.telefonica.de)
2022-06-25 10:29:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-06-25 10:30:17 +0200ulvarref`(~user@188.124.56.153) (Ping timeout: 248 seconds)
2022-06-25 10:46:18 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 10:48:09 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-06-25 10:49:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-06-25 10:54:03 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-06-25 10:57:32 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 255 seconds)
2022-06-25 11:00:06 +0200daveakre[m](~daveakrem@2001:470:69fc:105::1:88b7) (Quit: You have been kicked for being idle)
2022-06-25 11:11:55 +0200shiraeeshi(~shiraeesh@46.34.206.55) (Ping timeout: 268 seconds)
2022-06-25 11:12:26 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-06-25 11:13:09 +0200acidjnk(~acidjnk@dynamic-046-114-173-051.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
2022-06-25 11:14:35 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-06-25 11:17:24 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-06-25 11:17:25 +0200cosimone(~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81)
2022-06-25 11:18:04 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-06-25 11:19:06 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 11:21:27 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be) (Ping timeout: 256 seconds)
2022-06-25 11:23:21 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be)
2022-06-25 11:28:04 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-06-25 11:28:40 +0200acidjnk(~acidjnk@dynamic-046-114-173-051.46.114.pool.telefonica.de)
2022-06-25 11:29:02 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-06-25 11:31:02 +0200alexhandy(~trace@user/trace) (Read error: Connection reset by peer)
2022-06-25 11:31:08 +0200AndChat-624225(~trace@user/trace)
2022-06-25 11:31:39 +0200__monty__(~toonn@user/toonn)
2022-06-25 11:39:00 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) (Quit: Konversation terminated!)
2022-06-25 11:42:21 +0200misterfish(~misterfis@87.215.131.98)
2022-06-25 11:48:10 +0200coot(~coot@213.134.190.95)
2022-06-25 11:48:24 +0200acidjnk(~acidjnk@dynamic-046-114-173-051.46.114.pool.telefonica.de) (Ping timeout: 272 seconds)
2022-06-25 11:51:50 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2022-06-25 12:11:28 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-06-25 12:14:30 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-25 12:18:47 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-06-25 12:23:21 +0200moonsheep(~user@user/moonsheep)
2022-06-25 12:30:25 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-06-25 12:30:33 +0200moonsheep(~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-06-25 12:30:49 +0200nate4(~nate@98.45.169.16)
2022-06-25 12:30:57 +0200AndChat-624225(~trace@user/trace) (Read error: Connection reset by peer)
2022-06-25 12:31:08 +0200alexhandy(~trace@user/trace)
2022-06-25 12:33:13 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-06-25 12:34:54 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 264 seconds)
2022-06-25 12:40:20 +0200nate4(~nate@98.45.169.16) (Ping timeout: 272 seconds)
2022-06-25 12:46:26 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
2022-06-25 12:47:39 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-25 12:53:03 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Read error: Connection reset by peer)
2022-06-25 12:53:48 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 12:54:10 +0200shiraeeshi(~shiraeesh@46.34.206.55)
2022-06-25 12:56:56 +0200alp(~alp@user/alp)
2022-06-25 12:57:48 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-25 13:06:00 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Ping timeout: 276 seconds)
2022-06-25 13:12:05 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-06-25 13:15:14 +0200kitzman(~kitzman@user/dekenevs) (Quit: C-x C-c)
2022-06-25 13:19:16 +0200kitzman(~kitzman@user/dekenevs)
2022-06-25 13:20:15 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-06-25 13:25:38 +0200eod|fserucas_(~eod|fseru@193.65.114.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-06-25 13:25:38 +0200eod|fserucas(~eod|fseru@193.65.114.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-06-25 13:26:22 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
2022-06-25 13:28:16 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-06-25 13:38:41 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com)
2022-06-25 13:41:53 +0200 <Henson> does anybody here have much experience with Conduit? I'm trying to figure out how best to make a conduit that converts items into lists of items, like "ConduitT a [a] m r", and back again? The reason for this is I'm trying to deal with await's returning of "Maybe a" in an easy way.
2022-06-25 13:43:20 +0200 <Henson> I tried something like "runMaybeT $ forever $ do item <- MaybeT await; output <- doSomething input; lift $ yield output" but that seems to have a memory leak. The better paradigm seems to be to use Conduit's "awaitForever" function, but that takes in only single items, and I need to accumulate a list of items to work with.
2022-06-25 13:44:06 +0200 <Henson> according to Conduit's documentation they are encouraging people to use the Conduit.Combinators instead of the Conduit.List module, and I can't seem to figure out how to make chunksOfExactlyCE work in my situation.
2022-06-25 13:44:50 +0200 <Henson> I can't figure out how to make chunksOfExactlyCE work at all.
2022-06-25 13:49:49 +0200z0k(~z0k@206.84.143.59)
2022-06-25 13:50:50 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-25 13:53:07 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-25 13:58:47 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-06-25 13:59:19 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-25 14:02:15 +0200phma(phma@2001:5b0:211c:4d08:1069:cd39:8f5a:796f) (Read error: Connection reset by peer)
2022-06-25 14:02:50 +0200 <shiraeeshi> Henson: mapMC?
2022-06-25 14:02:53 +0200phma(~phma@host-67-44-208-150.hnremote.net)
2022-06-25 14:03:10 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-06-25 14:03:27 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-06-25 14:05:13 +0200coot(~coot@213.134.190.95)
2022-06-25 14:06:23 +0200liz__(~liz@host86-159-158-175.range86-159.btcentralplus.com)
2022-06-25 14:06:30 +0200 <Henson> shiraeeshi: that's close, but only works on a single input item. I want to essentially call "await" many times to accumulate the input items into a list, then work with the list. chunksOfExactlyCE, upon reading the source, seems to do what I want, but I can't figure out how to get it to work.
2022-06-25 14:06:53 +0200 <Henson> shiraeeshi: with the runMaybeT trick it's very easy to get this to work, but that approach has a memory leak for some reason, so I'm trying to find an alternative.
2022-06-25 14:10:13 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2022-06-25 14:10:43 +0200 <shiraeeshi> Henson: are you trying to consume chunks of n items wrapped in Just while ignoring Nothing values?
2022-06-25 14:12:52 +0200 <Henson> shiraeeshi: not necessarily wrapped in Just. If I call "await" many times, I need to deal with the possibility of the conduit ending, and one of them returning a Nothing. That was very easy to handle with runMaybeT. But I'm trying to find an alternative. awaitForever works very well for single items, but I need to work with a list of items. I also can't use mapC on the list of items...
2022-06-25 14:13:59 +0200 <Henson> because I need to be able to detect when the conduit closes, and do something different when the list is done. Both "runMaybeT $ forever $ blah" and "awaitForever" return when the conduit is closed (when one of the awaits returns Nothing) and allows me to react to the conduit closure.
2022-06-25 14:14:42 +0200 <Henson> my code used to be written with the Pipe library, but pipes have no way of telling when the data pipeline has terminated, and individual components of the pipeline cannot detect and react to the closure.
2022-06-25 14:15:10 +0200 <Henson> conduit can, and I'm trying to find a graceful way to work with every await return a "Maybe a"
2022-06-25 14:17:40 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-06-25 14:20:09 +0200 <maerwald[m]> Henson: in streamly you have a finalizer for a stream when it throws an exception or terminates normally. It's basically a GC hook.
2022-06-25 14:23:13 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-06-25 14:23:23 +0200liz__(~liz@host86-159-158-175.range86-159.btcentralplus.com) (Ping timeout: 246 seconds)
2022-06-25 14:25:42 +0200 <Henson> maerwald: wow, streamly looks pretty cool, I'll keep it in mind for the future. It looks like it's very good at doing parallel and concurrent data processing with streams of data. However I would like to avoid rewriting my code again, so want to try to figure out how to do this is Conduit.
2022-06-25 14:26:27 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-06-25 14:27:40 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-06-25 14:30:20 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-25 14:30:30 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 268 seconds)
2022-06-25 14:30:59 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3)
2022-06-25 14:31:30 +0200 <maerwald[m]> But I'm not sure I understand your use case... do you want the function running on the lsst element to somehow now it's the last element?
2022-06-25 14:31:50 +0200 <maerwald[m]> Then you'd need a way to look ahead
2022-06-25 14:31:50 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-06-25 14:33:11 +0200 <shiraeeshi> yeah, why not just sequence running a conduit with an action than you want to run after the conduit?
2022-06-25 14:33:30 +0200 <maerwald[m]> Henson: depending on your code it might not be hard to rewrite
2022-06-25 14:34:47 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-25 14:35:03 +0200 <Henson> maerwald: I have a function that takes in a TChan. This TChan allows me to pipe data from one thread to another. It's also able to signal to the other thread that the TChan has closed and no more data will be coming (to allow the other thread to terminate). I want to make a Conduit sink that awaits its input items and then puts them into the TChan for the other thread to process, but this...
2022-06-25 14:35:15 +0200 <shiraeeshi> I mean, doing something like runConduit () >> doSomething
2022-06-25 14:35:34 +0200 <Henson> Conduit needs to be able to tell when the stream of data has ended, so it can send the "TChan closed" value on the TChan so the other thread knows it can terminate.
2022-06-25 14:36:04 +0200 <Henson> shiraeeshi: sequencing the running of the conduit with the other action won't work, because the other action is part of one of the members of the conduit pipeline.
2022-06-25 14:36:31 +0200 <Henson> shiraeeshi: the other action has to be performed as part of running the conduit, not after the conduit has terminated.
2022-06-25 14:36:57 +0200 <shiraeeshi> Henson: have you heard about stm-conduit?
2022-06-25 14:37:08 +0200 <Henson> shiraeeshi: I have now!
2022-06-25 14:37:13 +0200Hensonlooks
2022-06-25 14:39:05 +0200 <maerwald[m]> Henson: that sounds to me like the GC finalizer could close the TChan
2022-06-25 14:39:08 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
2022-06-25 14:39:39 +0200 <Henson> maerwald: how could I get the GC finalizer to do that?
2022-06-25 14:39:55 +0200 <maerwald[m]> Henson: I mean in the case of streamly
2022-06-25 14:40:03 +0200 <Henson> maerwald: ah
2022-06-25 14:40:15 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-06-25 14:41:26 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-06-25 14:41:59 +0200 <maerwald[m]> https://hackage.haskell.org/package/streamly-0.8.2/docs/Streamly-Prelude.html#v:finally
2022-06-25 14:42:32 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-06-25 14:42:51 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 14:42:54 +0200 <maerwald[m]> And this behaves well under combining streams etc
2022-06-25 14:49:02 +0200 <shiraeeshi> sounds like Data.Conduit.TMChan from stm-conduit covers Henson's use case
2022-06-25 14:49:03 +0200 <shiraeeshi> https://hackage.haskell.org/package/stm-conduit-4.0.1/docs/Data-Conduit-TMChan.html
2022-06-25 14:49:16 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-25 14:49:32 +0200 <shiraeeshi> it even says:
2022-06-25 14:49:33 +0200 <shiraeeshi> We register closing function explicitly, because starting with version 1.3.0 conduits library no longer maintain resources, so this is the only way to safely close channel in case of exceptions.
2022-06-25 14:51:07 +0200Vajb(~Vajb@85-76-45-197-nat.elisa-mobile.fi)
2022-06-25 14:51:33 +0200 <Henson> shiraeeshi, maerwald: thank you for your help
2022-06-25 14:53:55 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 268 seconds)
2022-06-25 14:54:50 +0200 <shiraeeshi> Henson: that's one way of doing what you want, it seems. You do forkIO . runResourceT (registerTerminationHandler >> runConduit)
2022-06-25 14:55:23 +0200 <shiraeeshi> and registerTerminationHandler invokes register from resourcet
2022-06-25 14:58:39 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-25 15:01:30 +0200nate4(~nate@98.45.169.16)
2022-06-25 15:08:07 +0200nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-06-25 15:10:08 +0200obabo(~obabo@20014C4C1C41D6000000000000001000.catv.pool.telekom.hu)
2022-06-25 15:12:25 +0200leeb(~leeb@KD106155002017.au-net.ne.jp) (Ping timeout: 268 seconds)
2022-06-25 15:17:21 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-06-25 15:19:12 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 268 seconds)
2022-06-25 15:20:01 +0200pleo(~pleo@user/pleo)
2022-06-25 15:21:44 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-06-25 15:22:33 +0200dsrt^(~dsrt@50.237.44.186) (Ping timeout: 248 seconds)
2022-06-25 15:29:39 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) (Quit: Konversation terminated!)
2022-06-25 15:32:09 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-06-25 15:32:21 +0200yrlnry(~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection)
2022-06-25 15:32:57 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net)
2022-06-25 15:32:59 +0200yrlnry(~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net)
2022-06-25 15:34:25 +0200dsrt^(~dsrt@50.237.44.186)
2022-06-25 15:35:29 +0200dsrt^(~dsrt@50.237.44.186) (Remote host closed the connection)
2022-06-25 15:35:47 +0200jargon(~jargon@184.101.186.108) (Remote host closed the connection)
2022-06-25 15:35:59 +0200xacktm(xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-06-25 15:36:00 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
2022-06-25 15:37:29 +0200yrlnry(~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Ping timeout: 248 seconds)
2022-06-25 15:38:24 +0200even4void(even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com)
2022-06-25 15:40:23 +0200leeb(~leeb@KD106155002017.au-net.ne.jp)
2022-06-25 15:42:34 +0200z0k(~z0k@206.84.143.59) (Quit: WeeChat 3.5)
2022-06-25 15:43:22 +0200alp(~alp@user/alp) (Ping timeout: 272 seconds)
2022-06-25 15:45:28 +0200Everything(~Everythin@37.115.210.35)
2022-06-25 15:50:31 +0200cyanide4dinner(~cyanide4d@182.70.136.113)
2022-06-25 15:54:50 +0200xacktm(xacktm@user/xacktm)
2022-06-25 15:59:53 +0200xacktm(xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2022-06-25 16:00:07 +0200Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Quit: ZNC - http://znc.in)
2022-06-25 16:02:13 +0200Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
2022-06-25 16:06:41 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-06-25 16:10:02 +0200cyanide4dinner(~cyanide4d@182.70.136.113) (Remote host closed the connection)
2022-06-25 16:13:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-06-25 16:14:20 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net) (Ping timeout: 255 seconds)
2022-06-25 16:17:36 +0200zaquest(~notzaques@5.130.79.72)
2022-06-25 16:20:13 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-25 16:24:12 +0200 <cdsmith> I'm looking for a word here. Given a value (say, `(4, Left 5)`), what do you call the semilattice of partial approximations to the value? (In this case, that semilattice would look like https://paste.tomsmeding.com/zNWlF1UC)
2022-06-25 16:27:06 +0200 <cdsmith> Oops, I guess it is in fact a lattice, not just a semilattice
2022-06-25 16:28:51 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-25 16:37:14 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net)
2022-06-25 16:39:05 +0200shiraeeshi(~shiraeesh@46.34.206.55) (Ping timeout: 255 seconds)
2022-06-25 16:48:07 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net) (Quit: ,-)
2022-06-25 16:48:37 +0200pleo(~pleo@user/pleo) (Ping timeout: 268 seconds)
2022-06-25 16:50:18 +0200pleo(~pleo@user/pleo)
2022-06-25 16:58:12 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-06-25 16:59:58 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-25 17:02:51 +0200machinedgod(~machinedg@66.244.246.252)
2022-06-25 17:13:23 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 17:15:05 +0200cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2022-06-25 17:18:07 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 17:23:22 +0200cosimone(~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Remote host closed the connection)
2022-06-25 17:25:58 +0200nate4(~nate@98.45.169.16)
2022-06-25 17:28:54 +0200coot(~coot@213.134.190.95)
2022-06-25 17:30:49 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it)
2022-06-25 17:33:12 +0200Kaiepi(~Kaiepi@156.34.47.253) (Remote host closed the connection)
2022-06-25 17:33:21 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-06-25 17:33:49 +0200cheater(~Username@user/cheater)
2022-06-25 17:36:09 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 17:48:08 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-06-25 17:48:46 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:59fa:73d0:5de3:cb11) (Ping timeout: 272 seconds)
2022-06-25 17:49:01 +0200cyanide4dinner(~cyanide4d@182.70.136.113)
2022-06-25 17:49:35 +0200econo(uid147250@user/econo)
2022-06-25 17:52:03 +0200 <Bulby[m]> https://sschakraborty.github.io/benchmark/fannkuchredux.html
2022-06-25 17:52:17 +0200 <Bulby[m]> 57x
2022-06-25 17:53:05 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 17:55:48 +0200 <[exa]> Bulby[m]: well given it's an initial bad implementation, that's not surprising
2022-06-25 17:55:54 +0200 <[exa]> the good one is 1.8x
2022-06-25 17:56:01 +0200 <Bulby[m]> WHAT
2022-06-25 17:56:23 +0200 <[exa]> what?
2022-06-25 17:56:34 +0200 <Bulby[m]> sorry you know I suck at reading
2022-06-25 17:56:35 +0200 <Bulby[m]> i can't believe how blazing fast haskell is
2022-06-25 17:57:00 +0200 <Bulby[m]> in comparison to C
2022-06-25 17:57:03 +0200 <Bulby[m]> it's fast
2022-06-25 17:58:59 +0200misterfish(~misterfis@87.215.131.98) (Ping timeout: 246 seconds)
2022-06-25 18:00:07 +0200schuelermine[m](~schuelerm@user/schuelermine) (Quit: You have been kicked for being idle)
2022-06-25 18:00:12 +0200jinsun__(~jinsun@user/jinsun)
2022-06-25 18:00:12 +0200jinsunGuest2528
2022-06-25 18:00:12 +0200Guest2528(~jinsun@user/jinsun) (Killed (molybdenum.libera.chat (Nickname regained by services)))
2022-06-25 18:00:12 +0200jinsun__jinsun
2022-06-25 18:00:37 +0200shiraeeshi(~shiraeesh@46.34.206.55)
2022-06-25 18:02:47 +0200cyanide4dinner(~cyanide4d@182.70.136.113) (Remote host closed the connection)
2022-06-25 18:04:36 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-25 18:06:19 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds)
2022-06-25 18:12:59 +0200shiraeeshi(~shiraeesh@46.34.206.55) (Ping timeout: 246 seconds)
2022-06-25 18:22:18 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-06-25 18:23:48 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-06-25 18:25:26 +0200fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-06-25 18:26:27 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-25 18:27:01 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 18:27:06 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 264 seconds)
2022-06-25 18:28:34 +0200jakalx(~jakalx@base.jakalx.net)
2022-06-25 18:29:09 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
2022-06-25 18:34:16 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-25 18:35:57 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:15f0:abfd:c02c:258d)
2022-06-25 18:36:44 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-06-25 18:37:12 +0200cyanide4dinner(~cyanide4d@182.70.136.113)
2022-06-25 18:37:32 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-25 18:39:01 +0200cyanide4dinner(~cyanide4d@182.70.136.113) (Client Quit)
2022-06-25 18:39:15 +0200cyanide4dinner(~cyanide4d@182.70.136.113)
2022-06-25 18:45:11 +0200nate4(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2022-06-25 18:47:38 +0200pleo(~pleo@user/pleo) (Quit: quit)
2022-06-25 18:51:18 +0200notzmv(~zmv@user/notzmv)
2022-06-25 18:51:24 +0200perdent(~perdent@101.175.156.43) (Quit: Client closed)
2022-06-25 18:54:22 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-25 18:56:43 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 19:11:41 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-06-25 19:15:07 +0200coot(~coot@213.134.190.95)
2022-06-25 19:18:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-25 19:20:57 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
2022-06-25 19:22:47 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-06-25 19:24:33 +0200king_gs(~Thunderbi@2806:103e:29:a4ff:9938:ec1d:a54a:6688)
2022-06-25 19:24:43 +0200 <EvanR> Bulby[m], as long as you don't hit any potholes like space leaks, unwanted laziness,
2022-06-25 19:28:20 +0200kspalaiologos(~kspalaiol@user/kspalaiologos)
2022-06-25 19:31:09 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 19:31:23 +0200chronon_(~chronon@user/chronon) (Quit: leaving)
2022-06-25 19:32:35 +0200nate4(~nate@98.45.169.16)
2022-06-25 19:32:47 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca)
2022-06-25 19:37:35 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-06-25 19:39:12 +0200notzmv(~zmv@user/notzmv)
2022-06-25 19:43:55 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 19:45:16 +0200 <Bulby[m]> it's witchcraft. that un GC-d langs are comparable to haskell
2022-06-25 19:46:22 +0200coot(~coot@213.134.190.95)
2022-06-25 19:50:20 +0200nate4(~nate@98.45.169.16)
2022-06-25 19:59:38 +0200king_gs(~Thunderbi@2806:103e:29:a4ff:9938:ec1d:a54a:6688) (Quit: king_gs)
2022-06-25 19:59:47 +0200nate4(~nate@98.45.169.16) (Ping timeout: 255 seconds)
2022-06-25 20:01:06 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 20:03:04 +0200chronon(~chronon@user/chronon)
2022-06-25 20:05:41 +0200cyanide4dinner(~cyanide4d@182.70.136.113) (Ping timeout: 246 seconds)
2022-06-25 20:10:35 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:15f0:abfd:c02c:258d) (Ping timeout: 255 seconds)
2022-06-25 20:11:44 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca) (Remote host closed the connection)
2022-06-25 20:13:42 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-06-25 20:14:21 +0200cyanide4dinner(~cyanide4d@106.201.249.151)
2022-06-25 20:15:23 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca)
2022-06-25 20:18:17 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-06-25 20:20:57 +0200shiraeeshi(~shiraeesh@46.34.206.55)
2022-06-25 20:29:43 +0200chronon(~chronon@user/chronon) (Quit: leaving)
2022-06-25 20:31:52 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-25 20:34:58 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2022-06-25 20:35:20 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 20:37:59 +0200pleo(~pleo@user/pleo)
2022-06-25 20:44:37 +0200cyanide3dinner(~cyanide4d@106.201.249.151)
2022-06-25 20:44:49 +0200alexhandy2(~trace@user/trace)
2022-06-25 20:46:44 +0200kspalaiologos(~kspalaiol@user/kspalaiologos) (Quit: Leaving)
2022-06-25 20:47:46 +0200motherfsck(~motherfsc@user/motherfsck)
2022-06-25 20:47:56 +0200alexhandy(~trace@user/trace) (Ping timeout: 255 seconds)
2022-06-25 20:48:22 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-06-25 20:52:17 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-06-25 20:53:19 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2022-06-25 20:55:02 +0200even4void(even4void@came.here.for-some.fun)
2022-06-25 20:57:09 +0200opow242(~igloo@83.sub-174-205-101.myvzw.com)
2022-06-25 20:57:14 +0200opow242(~igloo@83.sub-174-205-101.myvzw.com) (Max SendQ exceeded)
2022-06-25 20:59:43 +0200xacktm(xacktm@user/xacktm)
2022-06-25 21:03:47 +0200machinedgod(~machinedg@66.244.246.252) (Ping timeout: 246 seconds)
2022-06-25 21:05:44 +0200nate4(~nate@98.45.169.16)
2022-06-25 21:11:19 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-06-25 21:12:59 +0200coot(~coot@213.134.190.95)
2022-06-25 21:18:00 +0200ulvarrefr(~user@188.124.56.153)
2022-06-25 21:20:11 +0200eod|fserucas_(~eod|fseru@193.65.114.89.rev.vodafone.pt)
2022-06-25 21:20:11 +0200eod|fserucas(~eod|fseru@193.65.114.89.rev.vodafone.pt)
2022-06-25 21:28:44 +0200cyanide4dinner(~cyanide4d@106.201.249.151) (Remote host closed the connection)
2022-06-25 21:28:44 +0200cyanide3dinner(~cyanide4d@106.201.249.151) (Remote host closed the connection)
2022-06-25 21:30:11 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 21:35:11 +0200pleo(~pleo@user/pleo) (Quit: quit)
2022-06-25 21:35:30 +0200zeenk(~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3)
2022-06-25 21:36:34 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-06-25 21:46:35 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-25 21:47:38 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-06-25 21:48:14 +0200shiraeeshi(~shiraeesh@46.34.206.55) (Ping timeout: 246 seconds)
2022-06-25 21:54:45 +0200shiraeeshi(~shiraeesh@46.34.206.55)
2022-06-25 21:55:30 +0200Sgeo(~Sgeo@user/sgeo)
2022-06-25 21:55:37 +0200shapr(~user@2600:4040:2d31:7100:8a04:a12a:c6c2:2309) (Ping timeout: 248 seconds)
2022-06-25 21:56:46 +0200michalz(~michalz@185.246.204.119)
2022-06-25 21:59:27 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 22:00:09 +0200chomwitt(~chomwitt@2a02:587:dc0d:e600:8c30:8a72:c29d:62b2)
2022-06-25 22:02:20 +0200pavonia(~user@user/siracusa)
2022-06-25 22:04:17 +0200Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-06-25 22:04:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-25 22:04:29 +0200acidjnk(~acidjnk@dynamic-046-114-172-226.46.114.pool.telefonica.de)
2022-06-25 22:05:36 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-06-25 22:07:05 +0200 <monochrom> Oh haha, I have an OOM in runghc that doesn't kill the runghc, but rather Chrome instead.
2022-06-25 22:07:43 +0200Kaipei(~Kaiepi@156.34.47.253)
2022-06-25 22:07:55 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-06-25 22:08:17 +0200 <monochrom> "avoid killing haskell at all costs"
2022-06-25 22:09:44 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-25 22:10:38 +0200Kaiepi(~Kaiepi@156.34.47.253) (Ping timeout: 246 seconds)
2022-06-25 22:12:06 +0200 <[exa]> chrome deserved tho
2022-06-25 22:18:50 +0200Kaipei(~Kaiepi@156.34.47.253) (Ping timeout: 255 seconds)
2022-06-25 22:20:30 +0200coot(~coot@213.134.190.95)
2022-06-25 22:21:50 +0200merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-06-25 22:22:39 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-06-25 22:24:50 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-06-25 22:28:28 +0200pleo(~pleo@user/pleo)
2022-06-25 22:29:42 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-25 22:32:18 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 22:32:32 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-06-25 22:40:28 +0200random-jellyfish(~random-je@user/random-jellyfish)
2022-06-25 22:40:43 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-06-25 22:43:43 +0200Kaipei(~Kaiepi@156.34.47.253)
2022-06-25 22:45:14 +0200gmg(~user@user/gehmehgeh)
2022-06-25 22:45:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-25 22:51:12 +0200jgeerds(~jgeerds@55d45f48.access.ecotel.net)
2022-06-25 22:53:35 +0200jinsun__(~jinsun@user/jinsun)
2022-06-25 22:53:35 +0200jinsunGuest9781
2022-06-25 22:53:35 +0200jinsun__jinsun
2022-06-25 22:55:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87)
2022-06-25 22:57:29 +0200Guest9781(~jinsun@user/jinsun) (Ping timeout: 248 seconds)
2022-06-25 22:58:01 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 268 seconds)
2022-06-25 22:58:50 +0200gmg(~user@user/gehmehgeh)
2022-06-25 23:02:33 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Quit: WeeChat 3.5)
2022-06-25 23:04:44 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca) (Ping timeout: 255 seconds)
2022-06-25 23:08:05 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2022-06-25 23:08:35 +0200cyanide3dinner(~cyanide4d@106.201.249.151)
2022-06-25 23:08:43 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
2022-06-25 23:09:39 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2022-06-25 23:10:06 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 23:11:31 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net)
2022-06-25 23:13:22 +0200Kaipei(~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
2022-06-25 23:14:39 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
2022-06-25 23:15:16 +0200acidjnk(~acidjnk@dynamic-046-114-172-226.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
2022-06-25 23:16:30 +0200yauhsien(~yauhsien@61-231-38-201.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2022-06-25 23:16:48 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:cd28:27b2:2677:8e87) (Remote host closed the connection)
2022-06-25 23:21:28 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net)
2022-06-25 23:23:46 +0200dcoutts(~duncan@host86-150-18-54.range86-150.btcentralplus.com)
2022-06-25 23:24:27 +0200Guest27(~Guest27@2601:281:d47f:1590::2df)
2022-06-25 23:25:40 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2022-06-25 23:25:56 +0200jinsun(~jinsun@user/jinsun)
2022-06-25 23:26:36 +0200Guest27(~Guest27@2601:281:d47f:1590::2df) (Client Quit)
2022-06-25 23:28:03 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2022-06-25 23:28:09 +0200nate4(~nate@98.45.169.16)
2022-06-25 23:28:18 +0200jinsun(~jinsun@user/jinsun)
2022-06-25 23:31:02 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2022-06-25 23:33:23 +0200 <AndreasK> Anyone got good ideas for keeping types representing the same data in sync across haskell and rust code.
2022-06-25 23:33:46 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-06-25 23:33:57 +0200 <AndreasK> The idea being that at least while I still play around with the data format I can regenerate one definition from the other and then just fix the code where it breaks.
2022-06-25 23:35:21 +0200alp(~alp@user/alp)
2022-06-25 23:36:15 +0200 <EvanR> generate the rust code using haskell xD
2022-06-25 23:36:24 +0200 <monochrom> I have a cunning plan! Design a 3rd language for expressing your type. Then a program that translate that to Rust types, and a program that translates that to Haskell types.
2022-06-25 23:37:32 +0200 <AndreasK> Given it's a toy project I did think about generating the rust definitions for the haskell types via Data or Generics
2022-06-25 23:37:54 +0200 <monochrom> I think it's Generics.
2022-06-25 23:38:34 +0200jmcarthur(~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2022-06-25 23:38:58 +0200 <monochrom> My understanding of Data is that it's good for writing the catamorphism for you. Whereas Generics gives you better access to constructor names, field names, etc those metadata.
2022-06-25 23:39:00 +0200 <AndreasK> afaik you can get the require info from both, not sure which is easier to work with
2022-06-25 23:40:14 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-06-25 23:45:06 +0200 <tdammers> clearly, the answer is Lisp
2022-06-25 23:47:55 +0200sayola(~vekto@dslb-088-078-152-210.088.078.pools.vodafone-ip.de) (Quit: Leaving.)
2022-06-25 23:48:21 +0200Lumia(~Lumia@c-73-219-104-153.hsd1.ma.comcast.net) (Quit: ,-)
2022-06-25 23:50:26 +0200mikoto-chan(~mikoto-ch@esm-84-240-99-143.netplaza.fi)
2022-06-25 23:51:46 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-06-25 23:55:36 +0200 <monochrom> I would weaken that to S-expressions but yeah :)
2022-06-25 23:55:46 +0200 <monochrom> Either S-expressions or XML haha.
2022-06-25 23:58:44 +0200nate4(~nate@98.45.169.16)