2021/02/27

2021-02-27 00:00:36 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-27 00:01:26 +0100rndnoise(~rndnoise@136.32.107.152) (Quit: leaving)
2021-02-27 00:03:38 +0100desophos(~desophos@2601:249:1680:a570:b97d:e49f:4b50:473b)
2021-02-27 00:04:52 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds)
2021-02-27 00:05:21 +0100bergey(~user@107.181.19.30) (Ping timeout: 264 seconds)
2021-02-27 00:05:35 +0100klardots1(~klardotsh@75-172-17-41.tukw.qwest.net) (Quit: WeeChat 3.0.1)
2021-02-27 00:06:33 +0100gr33nbits(~gr33nbits@a109-49-87-64.cpe.netcabo.pt) (Quit: Konversation terminated!)
2021-02-27 00:06:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection)
2021-02-27 00:10:09 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 00:13:02 +0100hidedagger(~nate@unaffiliated/hidedagger)
2021-02-27 00:14:03 +0100heatsink(~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d)
2021-02-27 00:14:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-02-27 00:19:18 +0100pavonia^\_^\(~user@unaffiliated/siracusa)
2021-02-27 00:19:43 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-27 00:19:45 +0100klardotsh(~klardotsh@75-172-17-41.tukw.qwest.net)
2021-02-27 00:19:47 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-02-27 00:20:05 +0100afidegnum(~afidegnum@102.176.65.26)
2021-02-27 00:20:08 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
2021-02-27 00:20:32 +0100frozenErebus(~frozenEre@94.128.219.166) (Quit: leaving)
2021-02-27 00:24:03 +0100hnOsmium0001hnOsmium0002
2021-02-27 00:24:33 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 264 seconds)
2021-02-27 00:25:07 +0100hnOsmium0002hnOsmium0001
2021-02-27 00:26:06 +0100omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net) (Read error: Connection reset by peer)
2021-02-27 00:28:14 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-ozhkekfvbfssrzmb) (Quit: Connection closed for inactivity)
2021-02-27 00:28:21 +0100omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net)
2021-02-27 00:34:08 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 00:37:16 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 00:38:57 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-02-27 00:39:30 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca)
2021-02-27 00:40:09 +0100hidedagger(~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.0)
2021-02-27 00:41:03 +0100soft-warm(44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds)
2021-02-27 00:42:22 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2021-02-27 00:43:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection)
2021-02-27 00:46:16 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-27 00:47:31 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2021-02-27 00:49:21 +0100sm2n_(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca)
2021-02-27 00:49:21 +0100Jd007(~Jd007@162.156.11.151) (Ping timeout: 246 seconds)
2021-02-27 00:49:25 +0100conal_(~conal@64.71.133.70)
2021-02-27 00:52:09 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca) (Ping timeout: 264 seconds)
2021-02-27 00:53:40 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca)
2021-02-27 00:54:56 +0100sm2n_(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca) (Ping timeout: 240 seconds)
2021-02-27 00:56:01 +0100Narinas(~Narinas@187.250.25.111.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-27 00:56:10 +0100Narinas(~Narinas@187.250.25.111.dsl.dyn.telnor.net)
2021-02-27 00:56:36 +0100theelous3(~theelous3@unaffiliated/theelous3) (Read error: Connection reset by peer)
2021-02-27 00:57:03 +0100theelous3(~theelous3@unaffiliated/theelous3)
2021-02-27 00:57:15 +0100 <hololeap> @unmtl ContT r1 (Cont r2) a
2021-02-27 00:57:15 +0100 <lambdabot> (a -> (r1 -> r2) -> r2) -> (r1 -> r2) -> r2
2021-02-27 00:57:39 +0100 <hololeap> @unmtl ContT () (Cont r) a
2021-02-27 00:57:39 +0100 <lambdabot> (a -> (() -> r) -> r) -> (() -> r) -> r
2021-02-27 01:00:17 +0100 <hololeap> LogicT is confusing for me. i don't understand what this means semantically: forall r. (a -> r -> r) -> r -> r
2021-02-27 01:01:18 +0100 <hololeap> honestly, i barely understand the semantics of ContT, but why does that one specify what r is while LogicT says it has to work for any r?
2021-02-27 01:03:33 +0100 <hololeap> isn't id the only possible function with the type `forall r. r -> r`?
2021-02-27 01:04:14 +0100 <hololeap> so, with that in mind, writing it like this makes it extra confusing: forall r. (a -> (r -> r)) -> (r -> r)
2021-02-27 01:04:56 +0100gzj(~gzj@unaffiliated/gzj)
2021-02-27 01:04:57 +0100 <hololeap> "give me a function that takes an `a` and returns `id`, and i'll give you `id`"
2021-02-27 01:06:17 +0100theelous3(~theelous3@unaffiliated/theelous3) (Read error: Connection reset by peer)
2021-02-27 01:06:50 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-02-27 01:07:25 +0100theelous3(~theelous3@unaffiliated/theelous3)
2021-02-27 01:07:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 01:08:06 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net)
2021-02-27 01:08:23 +0100 <monochrom> I don't use Cont to explain Logic. I use church encoding of [a] aka foldr.
2021-02-27 01:09:34 +0100 <hololeap> monochrom: that would make sense to me except for the forall thrown into the mix
2021-02-27 01:09:48 +0100 <monochrom> (\op z -> foldr op z [1,2]) = (\op z -> 1 `op` 2 `op` z) is the church encoding of [1,2]. Type is forall r. (Int->r->r) -> r -> r
2021-02-27 01:10:02 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d121:eb35:d957:d1dd)
2021-02-27 01:10:54 +0100 <hololeap> :t \op z -> foldr op z [1,2]
2021-02-27 01:10:56 +0100 <lambdabot> Num a => (a -> b -> b) -> b -> b
2021-02-27 01:11:51 +0100juri_(~juri@178.63.35.222) (Ping timeout: 265 seconds)
2021-02-27 01:12:16 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
2021-02-27 01:12:20 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-02-27 01:13:20 +0100 <monochrom> The "forall r" or "forall b" is important because it gives you parametricity (free theorems), and it is what you need to assure that everything of type "forall r. (Int->r->r) -> r -> r)" is convertible back to some [Int].
2021-02-27 01:14:15 +0100 <hololeap> maybe i was thinking about it as though it were `(a -> (forall r. r -> r)) -> (forall r. r -> r)`
2021-02-27 01:14:41 +0100 <monochrom> Ah yes you were thinking that, and it doesn't work.
2021-02-27 01:16:27 +0100 <hololeap> i don't really understand how the placement of forall affects things. i can see that those signatures are very different, but i feel like there must be something more formal than that.
2021-02-27 01:17:05 +0100borne(~fritjof@200116b864cbc80010f2d07664396fd4.dip.versatel-1u1.de)
2021-02-27 01:18:11 +0100 <hololeap> like some kind of rewrite rules, perhaps
2021-02-27 01:18:40 +0100 <monochrom> Not rewrite rules. forall allows you to invoke free theorems.
2021-02-27 01:20:00 +0100 <hololeap> ok, well for instance, is (forall r. a -> r -> r) different than (a -> (forall r. r -> r)) ? if so, why?
2021-02-27 01:20:26 +0100 <monochrom> Suppose someone gave me "fxs :: forall r. (Int->r->r) -> r -> r". They didn't give me the source code. But I test it with "fxs (:) []" and get [1,2].
2021-02-27 01:21:28 +0100 <monochrom> Then I can invoke a free theorem to conclude: fxs = (\op z -> 1 `op` 2 `op z). Maybe the actual code is a less efficent way of doing that, I don't know, I still don't have the source code, but I know semantically it does that, there is no other choice.
2021-02-27 01:23:08 +0100banyanRob(268ce492@38.140.228.146)
2021-02-27 01:23:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 01:23:31 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 276 seconds)
2021-02-27 01:24:25 +0100heatsink(~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d)
2021-02-27 01:25:27 +0100 <hololeap> i get that the forall makes things as general as possible, which oftentimes limits the possible implementations
2021-02-27 01:25:37 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-02-27 01:26:01 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 01:26:10 +0100 <hololeap> but i would still like an answer to my last question, because i feel like it's important to understand this
2021-02-27 01:26:23 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-02-27 01:26:53 +0100 <hololeap> and it's always been a source of confusion for me
2021-02-27 01:27:03 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-02-27 01:29:02 +0100ukari(~ukari@unaffiliated/ukari)
2021-02-27 01:30:39 +0100 <dolio> `T -> (forall r. U)` is equivalent to `forall r. T -> U` as long as `r` does not occur in `T`.
2021-02-27 01:30:42 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds)
2021-02-27 01:31:52 +0100 <dolio> But `(forall r. T) -> U` is not equivalent to `forall r. (T -> U)` even if `r` doesn't occur in `U`.
2021-02-27 01:33:41 +0100juri_(~juri@178.63.35.222)
2021-02-27 01:34:10 +0100 <dolio> Even in classical logic that does not work.
2021-02-27 01:34:45 +0100 <hololeap> how would that translate to classical logic?
2021-02-27 01:35:46 +0100jess(jess@freenode/staff/jess) (Quit: - think)
2021-02-27 01:36:36 +0100 <dolio> 1. (all fruit is red) implies bananas are red, 2. for all fruit F. (F is red) implies bananas are red.
2021-02-27 01:36:40 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9)
2021-02-27 01:37:00 +0100 <dolio> The second allows me to reason from a red apple to bananas being red.
2021-02-27 01:37:35 +0100jess(jess@freenode/staff/jess)
2021-02-27 01:38:04 +0100 <dolio> The first just reasons from the false statement that all fruit is red to bananas being red.
2021-02-27 01:39:22 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:d121:eb35:d957:d1dd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 01:39:45 +0100 <hololeap> i'm not sure i follow. how do types translate to logic?
2021-02-27 01:39:52 +0100vchlup__(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 01:39:56 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz) (Read error: Connection reset by peer)
2021-02-27 01:40:14 +0100 <hololeap> like, what would "all fruit is red" look like as types?
2021-02-27 01:40:38 +0100 <dolio> (forall f. Red f) -> Red Banana
2021-02-27 01:41:11 +0100 <dolio> Or maybe `Fruit f -> Red f`
2021-02-27 01:41:47 +0100bennofs__(~quassel@dslb-094-222-055-234.094.222.pools.vodafone-ip.de)
2021-02-27 01:41:57 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-02-27 01:42:33 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-02-27 01:44:15 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-02-27 01:44:20 +0100 <dolio> Clasical logic says you can reason from `(forall x. T) -> U` to `exists x. (T -> U)`. In this case, I think it involves magic foreknowledge that I am going to reason about a banana, and choosing it as the existential witness.
2021-02-27 01:45:07 +0100 <dolio> But programming languages often don't allow that sort of thing.
2021-02-27 01:45:24 +0100rajivr(uid269651@gateway/web/irccloud.com/x-timnstzhilonhtxu)
2021-02-27 01:45:37 +0100bennofs_(~quassel@dslb-094-222-093-100.094.222.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
2021-02-27 01:47:08 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-02-27 01:47:19 +0100 <dolio> Oh, actually, in this case you could choose any non-red fruit.
2021-02-27 01:48:20 +0100 <dolio> Anyhow, Haskell's types don't work that way.
2021-02-27 01:48:42 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ace8:9f2e:8b98:ae8a)
2021-02-27 01:49:26 +0100 <hololeap> Red Apple -> (forall f. Red f)
2021-02-27 01:49:55 +0100 <hololeap> is this "all apples are red therefore all fruit is red" ? how does this make any more sense?
2021-02-27 01:50:10 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 276 seconds)
2021-02-27 01:50:27 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds)
2021-02-27 01:50:55 +0100 <dolio> Yeah, that's how you could read it. Anyhow, it make exactly as much sense as shifting the quantifier to the left.
2021-02-27 01:51:13 +0100 <dolio> 'For all fruit F, if apples are red, then F is red.'
2021-02-27 01:51:21 +0100 <MarcelineVQ> Iso {to : Fruit -> Red; from : Red -> Fruit }
2021-02-27 01:52:09 +0100conal_(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-27 01:52:11 +0100 <dolio> You can pull a forall out from the right of an arrow, but not the left.
2021-02-27 01:52:52 +0100alx741(~alx741@186.178.108.37) (Quit: alx741)
2021-02-27 01:53:05 +0100 <hololeap> would studying the curry-howard isomorphism lead to a deeper understanding of this?
2021-02-27 01:53:22 +0100 <dolio> I don't know. But this is the Curry-Howard isomorphism, basically.
2021-02-27 01:53:42 +0100 <dolio> It would only help you if you know the rules for intuitionistic logic with quantifiers.
2021-02-27 01:53:52 +0100 <dolio> Because they're the same rules.
2021-02-27 01:54:02 +0100 <hololeap> ok. i don't have much exposure to formal logic so i suppose that's a good place to start.
2021-02-27 01:54:14 +0100 <hololeap> then the forall trickery will make sense to me
2021-02-27 01:54:29 +0100 <monochrom> Curry-Howard will convince you that logic laws double as type laws.
2021-02-27 01:54:30 +0100 <__minoru__shirae> ST relies on forall trickery
2021-02-27 01:54:57 +0100 <monochrom> But you need free theorems to see why we bother with the forall in the first place.
2021-02-27 01:55:08 +0100 <sclv> i don't think that's true
2021-02-27 01:55:19 +0100 <sclv> polymorphism is useful regardless
2021-02-27 01:55:25 +0100 <dolio> It might also help the other way, because it lets you think about logical statements in terms of computationally well-behaved things.
2021-02-27 01:56:04 +0100 <dolio> So you can remember which logical inferences are classical-only by thinking about whether or not you could write a Haskell program that does it.
2021-02-27 01:56:36 +0100 <monochrom> sclv, the context is, for example, why "if f :: forall r. (Int->r)->r, f id = 5, then we are sure f = \g -> g 5".
2021-02-27 01:57:41 +0100 <monochrom> More contextually, the Logic monad in logict uses "forall r. (a->r->r) -> r -> r", why it is equiv to [a], and why the forall guarantees that, in particular the difficult direction.
2021-02-27 01:57:43 +0100 <sclv> ok that makes a bit more sense
2021-02-27 01:58:55 +0100 <sclv> i still think you can reason from parametricity qua parametricity without free theorems here...
2021-02-27 01:58:58 +0100 <monochrom> Or even more simply what's the forall doing there, why not just go along the line of the Cont r monad (i.e. drop the "forall r").
2021-02-27 01:59:24 +0100 <monochrom> Yes.
2021-02-27 02:00:21 +0100 <dolio> Yeah, the more intuitive precursor to free theorems is useful to think about.
2021-02-27 02:01:11 +0100 <monochrom> Eh, I don't feel raw parametricity intuitive (until after working out a million examples).
2021-02-27 02:01:36 +0100 <monochrom> free theorems are almost just naturality. That's more natural and intuitive to me. >:)
2021-02-27 02:02:08 +0100 <dolio> I mean the original Strachey version about being 'uniform' because r is unknown to you.
2021-02-27 02:02:30 +0100 <dolio> Not relational parametricity. :)
2021-02-27 02:02:31 +0100supercoven_(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
2021-02-27 02:02:32 +0100supercoven_(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Max SendQ exceeded)
2021-02-27 02:02:34 +0100 <monochrom> Oh, that one I tell my students.
2021-02-27 02:02:46 +0100supercoven_(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
2021-02-27 02:02:47 +0100supercoven_(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Max SendQ exceeded)
2021-02-27 02:03:01 +0100supercoven_(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
2021-02-27 02:03:58 +0100 <monochrom> May I brag that I thought it up myself too before today knowing that Strachey said that? :)
2021-02-27 02:04:44 +0100 <sclv> ooh look at the fancy thinking of stuff person over here
2021-02-27 02:05:07 +0100 <monochrom> Because some years ago I was trying to explain to my friends why one single test case "f id = 5" already nails "so f = \g -> g 5 no other choice".
2021-02-27 02:05:07 +0100supercoven(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 276 seconds)
2021-02-27 02:05:32 +0100 <monochrom> One friend brought up "but this doesn't work in Java because it lets you ask about the type"
2021-02-27 02:05:46 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 276 seconds)
2021-02-27 02:06:01 +0100 <monochrom> So I realized that it comes down to having or not having type-case, i.e., whether you know the type or not.
2021-02-27 02:06:03 +0100 <sclv> i tend to agree that "the expressive power of typecase" is a nice way to think about parametricity in the negative
2021-02-27 02:07:21 +0100 <__minoru__shirae> monochrom: you mean overriding Object.equals in Java?
2021-02-27 02:07:31 +0100 <monochrom> No. instanceOf.
2021-02-27 02:07:43 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 276 seconds)
2021-02-27 02:08:17 +0100 <monochrom> Yes, even if your method sig is like "<T> T f(T x)" your f can still use "x instanceOf Integer" and do evil things. I tried.
2021-02-27 02:09:41 +0100 <monochrom> sclv, years ago I realized the dialectic class struggle between "the author can do more" and "the user can deduce more".
2021-02-27 02:10:35 +0100 <monochrom> My Freedom Is Your Slavery. Your Ignorance Is My Strength.
2021-02-27 02:11:21 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds)
2021-02-27 02:11:51 +0100hiroaki_(~hiroaki@2a02:908:4b18:8c40:417b:587b:f9ad:a890) (Ping timeout: 272 seconds)
2021-02-27 02:11:55 +0100Feuermagier(~Feuermagi@213.178.26.41)
2021-02-27 02:12:00 +0100Feuermagier_(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
2021-02-27 02:13:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-27 02:13:48 +0100Feuermagier_(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Client Quit)
2021-02-27 02:14:26 +0100dpl(~dpl@ec2-18-133-105-122.eu-west-2.compute.amazonaws.com) (Disconnected by services)
2021-02-27 02:14:27 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 02:15:03 +0100 <sclv> ajoint
2021-02-27 02:15:04 +0100 <sclv> adjoint
2021-02-27 02:15:16 +0100dpl-(~dpl@ec2-18-133-105-122.eu-west-2.compute.amazonaws.com)
2021-02-27 02:15:31 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 276 seconds)
2021-02-27 02:15:57 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ace8:9f2e:8b98:ae8a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 02:16:40 +0100slack1256(~slack1256@45.4.2.52)
2021-02-27 02:17:31 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net)
2021-02-27 02:18:21 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ace8:9f2e:8b98:ae8a)
2021-02-27 02:18:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 276 seconds)
2021-02-27 02:20:02 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 02:21:03 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 02:21:42 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-02-27 02:24:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-02-27 02:26:21 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 264 seconds)
2021-02-27 02:26:21 +0100gentauro(~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer)
2021-02-27 02:26:52 +0100gentauro(~gentauro@unaffiliated/gentauro)
2021-02-27 02:28:13 +0100int80h(uid148779@gateway/web/irccloud.com/x-ajavsncudlqnodzo)
2021-02-27 02:30:32 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
2021-02-27 02:32:14 +0100plutoniix(~q@node-usa.pool-125-24.dynamic.totinternet.net)
2021-02-27 02:32:24 +0100psutcliffe(~psutcliff@m83-187-173-212.cust.tele2.se)
2021-02-27 02:32:24 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 02:32:34 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 02:36:19 +0100conal(~conal@64.71.133.70)
2021-02-27 02:36:58 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 276 seconds)
2021-02-27 02:37:08 +0100 <koz_> sclv: A joint rofl.
2021-02-27 02:37:42 +0100Moyst_Moyst
2021-02-27 02:38:07 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 02:39:06 +0100 <hololeap> an adjoint joint?
2021-02-27 02:39:09 +0100teardown(~user@gateway/tor-sasl/mrush)
2021-02-27 02:39:10 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 02:39:17 +0100 <koz_> hololeap: an ad(joint)^2.
2021-02-27 02:39:37 +0100 <hololeap> echo {ad,}joint
2021-02-27 02:39:43 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 02:40:05 +0100carlomagno(~cararell@148.87.23.4) (Quit: Leaving.)
2021-02-27 02:41:04 +0100psutcliffe(~psutcliff@m83-187-173-212.cust.tele2.se) (Quit: Leaving)
2021-02-27 02:41:26 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42)
2021-02-27 02:43:09 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 264 seconds)
2021-02-27 02:44:29 +0100Svet_(~svet@90.200.185.163)
2021-02-27 02:45:43 +0100vchlup__(~vchlup@115.128.broadband17.iol.cz) (Remote host closed the connection)
2021-02-27 02:45:51 +0100vchlup(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 02:46:09 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 02:46:19 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 02:49:27 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Quit: Leaving.)
2021-02-27 02:49:47 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2021-02-27 02:52:47 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 02:52:55 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 02:55:12 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 02:55:35 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-02-27 02:55:45 +0100mrchampion(~mrchampio@38.18.109.23) (Ping timeout: 264 seconds)
2021-02-27 02:56:48 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-02-27 02:57:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 02:57:29 +0100gzj(~gzj@unaffiliated/gzj)
2021-02-27 03:00:07 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 265 seconds)
2021-02-27 03:00:42 +0100mrchampion(~mrchampio@38.18.109.23)
2021-02-27 03:01:29 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 03:03:30 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 265 seconds)
2021-02-27 03:04:57 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 265 seconds)
2021-02-27 03:05:23 +0100xff0x(~xff0x@2001:1a81:52d0:d300:4228:6d0f:7477:ec73) (Ping timeout: 260 seconds)
2021-02-27 03:05:31 +0100mceier(~mceier@89-68-132-187.dynamic.chello.pl) (Ping timeout: 268 seconds)
2021-02-27 03:05:46 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 03:05:46 +0100vchlup(~vchlup@115.128.broadband17.iol.cz) (Read error: Connection reset by peer)
2021-02-27 03:05:57 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 03:06:09 +0100mceier(~mceier@89-68-132-187.dynamic.chello.pl)
2021-02-27 03:06:55 +0100xff0x(~xff0x@2001:1a81:530a:8600:faf9:7441:8836:4d7d)
2021-02-27 03:08:21 +0100nineonin_(~nineonine@50.216.62.2) (Ping timeout: 264 seconds)
2021-02-27 03:08:28 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-02-27 03:10:45 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 265 seconds)
2021-02-27 03:11:14 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz) (Remote host closed the connection)
2021-02-27 03:11:40 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 03:12:36 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-02-27 03:13:24 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 03:13:55 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 03:14:09 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 03:18:02 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-27 03:18:41 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2021-02-27 03:20:03 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 03:20:10 +0100conal(~conal@64.71.133.70)
2021-02-27 03:20:19 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-02-27 03:20:23 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 03:22:54 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 03:25:53 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net) (Remote host closed the connection)
2021-02-27 03:27:36 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 240 seconds)
2021-02-27 03:27:40 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
2021-02-27 03:30:57 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-02-27 03:33:38 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 03:34:01 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 03:34:49 +0100banyanRob(268ce492@38.140.228.146) (Quit: Connection closed)
2021-02-27 03:35:27 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net)
2021-02-27 03:38:08 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-27 03:38:26 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr)
2021-02-27 03:38:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 03:39:02 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-02-27 03:39:53 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds)
2021-02-27 03:40:20 +0100viluon(uid453725@gateway/web/irccloud.com/x-dqymabneifveqvzq) (Quit: Connection closed for inactivity)
2021-02-27 03:40:20 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 03:40:23 +0100wildlander(~wildlande@unaffiliated/wildlander)
2021-02-27 03:40:25 +0100Lord_of_Life_Lord_of_Life
2021-02-27 03:40:36 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 03:43:03 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-27 03:43:37 +0100Wuzzy(~Wuzzy@p5790e341.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2021-02-27 03:47:03 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 03:47:13 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 03:51:12 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-02-27 03:53:05 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 03:53:26 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 03:53:39 +0100deviantfero(~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
2021-02-27 03:53:56 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 03:54:13 +0100drbean_(~drbean@TC210-63-209-22.static.apol.com.tw)
2021-02-27 03:54:18 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 03:55:06 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 03:55:18 +0100urodna(~urodna@unaffiliated/urodna) (Read error: Connection reset by peer)
2021-02-27 03:55:28 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 03:56:05 +0100urodna(~urodna@unaffiliated/urodna)
2021-02-27 03:56:51 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 04:02:03 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 272 seconds)
2021-02-27 04:03:51 +0100hackageaur 7.0.6 - Access metadata from the Arch Linux User Repository. https://hackage.haskell.org/package/aur-7.0.6 (fosskers)
2021-02-27 04:03:57 +0100xff0x(~xff0x@2001:1a81:530a:8600:faf9:7441:8836:4d7d) (Ping timeout: 272 seconds)
2021-02-27 04:04:51 +0100hackageaura 3.2.3 - A secure package manager for Arch Linux and the AUR. https://hackage.haskell.org/package/aura-3.2.3 (fosskers)
2021-02-27 04:05:08 +0100xff0x(~xff0x@2001:1a81:5311:f400:d9f4:8c95:2d13:97c0)
2021-02-27 04:05:15 +0100nineonine(~nineonine@50.216.62.2)
2021-02-27 04:05:22 +0100__minoru__shirae(~shiraeesh@46.34.207.247) (Ping timeout: 265 seconds)
2021-02-27 04:08:55 +0100vchlup(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 04:09:11 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz) (Read error: Connection reset by peer)
2021-02-27 04:10:01 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-02-27 04:13:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-02-27 04:14:03 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-27 04:17:34 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-02-27 04:18:27 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-02-27 04:18:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2021-02-27 04:19:17 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-02-27 04:19:17 +0100finn_elijaGuest92478
2021-02-27 04:19:17 +0100FinnElijafinn_elija
2021-02-27 04:22:27 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 04:23:22 +0100Guest92478(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-02-27 04:27:25 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-02-27 04:27:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-02-27 04:27:42 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-02-27 04:27:44 +0100 <ezzieyguywuf> just stumbled across liquidhaskell - y'all have any familiarity with it? is it something worth looking into?
2021-02-27 04:27:44 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 04:27:55 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 04:28:52 +0100gitgoood(~gitgood@80-44-13-166.dynamic.dsl.as9105.com)
2021-02-27 04:30:04 +0100gitgoood(~gitgood@80-44-13-166.dynamic.dsl.as9105.com) (Client Quit)
2021-02-27 04:31:34 +0100gitgood(~gitgood@80-44-13-166.dynamic.dsl.as9105.com) (Ping timeout: 260 seconds)
2021-02-27 04:33:15 +0100vchlup(~vchlup@115.128.broadband17.iol.cz) (Remote host closed the connection)
2021-02-27 04:33:41 +0100vchlup(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 04:34:15 +0100bibek(~bibek@27.34.20.148)
2021-02-27 04:34:35 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 04:35:06 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 04:36:21 +0100hackagelens-family-th 0.5.2.0 - Generate lens-family style lenses https://hackage.haskell.org/package/lens-family-th-0.5.2.0 (DanBurton)
2021-02-27 04:38:08 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-27 04:38:26 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr)
2021-02-27 04:39:03 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 04:40:03 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-02-27 04:40:03 +0100borne(~fritjof@200116b864cbc80010f2d07664396fd4.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2021-02-27 04:40:08 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 04:40:34 +0100vchlup(~vchlup@115.128.broadband17.iol.cz) (Read error: Connection reset by peer)
2021-02-27 04:41:25 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 04:41:42 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 04:43:56 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-27 04:46:42 +0100 <MarcelineVQ> ezzieyguywuf: no, yes
2021-02-27 04:47:10 +0100 <MarcelineVQ> just depends on if you need the gurantees/assurances it provides
2021-02-27 04:47:39 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.0.1)
2021-02-27 04:48:36 +0100theDon(~td@94.134.91.130) (Ping timeout: 240 seconds)
2021-02-27 04:49:22 +0100hackagehaskell-src-meta 0.8.6 - Parse source to template-haskell abstract syntax. https://hackage.haskell.org/package/haskell-src-meta-0.8.6 (DanBurton)
2021-02-27 04:49:22 +0100xiinotulp(~q@node-un4.pool-125-24.dynamic.totinternet.net)
2021-02-27 04:50:14 +0100theelous3(~theelous3@unaffiliated/theelous3) (Read error: Connection reset by peer)
2021-02-27 04:50:37 +0100theDon(~td@94.134.91.67)
2021-02-27 04:52:15 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 04:52:36 +0100plutoniix(~q@node-usa.pool-125-24.dynamic.totinternet.net) (Ping timeout: 240 seconds)
2021-02-27 04:52:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 04:53:21 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net)
2021-02-27 04:54:03 +0100int80h(uid148779@gateway/web/irccloud.com/x-ajavsncudlqnodzo) (Quit: Connection closed for inactivity)
2021-02-27 04:54:21 +0100hackagelti13 0.2.0.1 - Core functionality for LTI 1.3. https://hackage.haskell.org/package/lti13-0.2.0.1 (jade)
2021-02-27 04:55:02 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 04:55:03 +0100 <MarcelineVQ> for stronger guarantees I use idris because I'm a hipster, but not academic enough of a hipster to do it in agda. liquid haskell's thrust is to be easier to use than these fully depenent langs, idk if it is
2021-02-27 04:55:17 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 04:55:21 +0100hackageyesod-auth-lti13 0.2.0.1 - A yesod-auth plugin for LTI 1.3 https://hackage.haskell.org/package/yesod-auth-lti13-0.2.0.1 (jade)
2021-02-27 04:55:33 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-02-27 04:56:21 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2021-02-27 04:56:43 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 276 seconds)
2021-02-27 04:57:22 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 276 seconds)
2021-02-27 04:58:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-02-27 04:59:08 +0100xiinotulp(~q@node-un4.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
2021-02-27 05:01:26 +0100syd(~syd@cpc91646-hart11-2-0-cust432.11-3.cable.virginm.net)
2021-02-27 05:06:42 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 05:07:48 +0100vchlup(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 05:08:25 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz) (Read error: Connection reset by peer)
2021-02-27 05:08:25 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 05:08:34 +0100forgottenone(~forgotten@176.42.27.254)
2021-02-27 05:08:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-02-27 05:08:53 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 05:11:52 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 05:13:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 05:14:24 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 240 seconds)
2021-02-27 05:15:39 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-27 05:17:51 +0100hackagehaskell-src-meta 0.8.7 - Parse source to template-haskell abstract syntax. https://hackage.haskell.org/package/haskell-src-meta-0.8.7 (DanBurton)
2021-02-27 05:18:50 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-02-27 05:18:50 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 265 seconds)
2021-02-27 05:20:57 +0100redmp(~redmp@172.58.35.77) (Ping timeout: 264 seconds)
2021-02-27 05:22:05 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 05:22:30 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 05:23:20 +0100syd(~syd@cpc91646-hart11-2-0-cust432.11-3.cable.virginm.net) (Remote host closed the connection)
2021-02-27 05:24:01 +0100shadowdao(~user@unaffiliated/shadowdaemon) (Quit: ERC Version 5.3 (IRC client for Emacs))
2021-02-27 05:25:09 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 05:25:18 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 05:28:19 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 05:28:56 +0100vchlup(~vchlup@115.128.broadband17.iol.cz) (Ping timeout: 240 seconds)
2021-02-27 05:28:56 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 05:29:05 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 05:29:17 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2021-02-27 05:29:22 +0100mehwork(~mehwork@98.185.199.35.bc.googleusercontent.com) ()
2021-02-27 05:31:38 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-02-27 05:32:00 +0100redmp(~redmp@172.58.35.77)
2021-02-27 05:32:16 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 240 seconds)
2021-02-27 05:32:28 +0100Tario(~Tario@201.192.165.173)
2021-02-27 05:36:49 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz) (Remote host closed the connection)
2021-02-27 05:37:03 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 272 seconds)
2021-02-27 05:37:07 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 05:38:08 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-27 05:38:26 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr)
2021-02-27 05:40:13 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 272 seconds)
2021-02-27 05:41:13 +0100styledash(~styledash@157.230.173.136) (Quit: The Lounge - https://thelounge.chat)
2021-02-27 05:42:16 +0100styledash(~styledash@157.230.173.136)
2021-02-27 05:42:28 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 05:42:36 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
2021-02-27 05:42:41 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 05:44:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-02-27 05:45:23 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2021-02-27 05:46:28 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 05:46:29 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net)
2021-02-27 05:46:52 +0100Tario(~Tario@201.192.165.173)
2021-02-27 05:50:36 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-02-27 05:51:04 +0100cheater(~user@unaffiliated/cheater)
2021-02-27 05:51:36 +0100ozataman(~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-27 05:51:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 05:53:59 +0100cheater1(~user@unaffiliated/cheater)
2021-02-27 05:55:15 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 246 seconds)
2021-02-27 05:55:24 +0100cheater1cheater
2021-02-27 05:55:56 +0100 <desophos> hey koz_, i'm having a lot of trouble translating the combination algorithm you sent me yesterday into Haskell. the language in the paper is very imperative and the wording confuses me. could you help me understand and translate it? what i have so far is a complete mess, very unoptimized, and doesn't work (stops after 1 recursion), but here it is. i know my bars' (step 6) is wrong, but i don't understand why.
2021-02-27 05:55:56 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 05:55:57 +0100 <desophos> https://paste.tomsmeding.com/i8Yeubbd
2021-02-27 05:56:12 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-27 05:56:16 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 05:56:27 +0100Tario(~Tario@201.192.165.173)
2021-02-27 05:56:30 +0100 <koz_> desophos: I'm afraid that's quite a lot of work, and I'm not sure I have the time, sorry.
2021-02-27 05:57:00 +0100 <desophos> ah, that's alright. i'll give it another shot another time
2021-02-27 05:57:14 +0100 <desophos> thanks for the resource either way
2021-02-27 05:57:45 +0100 <koz_> No worries.
2021-02-27 05:58:14 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 06:00:06 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-02-27 06:00:26 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 06:02:10 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 06:02:16 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 240 seconds)
2021-02-27 06:02:29 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 06:03:03 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 06:03:22 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 06:07:11 +0100__minoru__shirae(~shiraeesh@46.34.207.247)
2021-02-27 06:08:08 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 265 seconds)
2021-02-27 06:09:30 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 06:09:55 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 06:10:15 +0100shadowdaemon(~user@unaffiliated/shadowdaemon)
2021-02-27 06:10:32 +0100nineonine(~nineonine@50.216.62.2)
2021-02-27 06:10:57 +0100slack1256(~slack1256@45.4.2.52) (Ping timeout: 256 seconds)
2021-02-27 06:12:24 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2021-02-27 06:15:33 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 264 seconds)
2021-02-27 06:16:17 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 06:16:22 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-27 06:16:30 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 06:21:02 +0100poscat(~poscat@2408:8207:4822:a280::1) (Ping timeout: 264 seconds)
2021-02-27 06:21:10 +0100Tario(~Tario@201.192.165.173)
2021-02-27 06:21:26 +0100wildlander(~wildlande@unaffiliated/wildlander) (Quit: Konversation terminated!)
2021-02-27 06:25:40 +0100fnlaai(67691c87@103.105.28.135)
2021-02-27 06:26:21 +0100hackagedbus 1.2.21 - A client library for the D-Bus IPC system. https://hackage.haskell.org/package/dbus-1.2.21 (blaze)
2021-02-27 06:26:36 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds)
2021-02-27 06:27:23 +0100shatriff(~vitaliish@protective.remission.volia.net) (Remote host closed the connection)
2021-02-27 06:27:37 +0100shatriff(~vitaliish@protective.remission.volia.net)
2021-02-27 06:28:28 +0100Saukk(~Saukk@83-148-239-3.dynamic.lounea.fi)
2021-02-27 06:30:18 +0100catt(~r@31.127.31.99)
2021-02-27 06:32:01 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-27 06:32:57 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca) (Ping timeout: 264 seconds)
2021-02-27 06:33:21 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca)
2021-02-27 06:34:25 +0100Tops21(~Tobias@dyndsl-095-033-025-207.ewe-ip-backbone.de)
2021-02-27 06:35:40 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-ngsliaqaashyeyvi)
2021-02-27 06:36:18 +0100slack1256(~slack1256@45.4.2.52)
2021-02-27 06:36:27 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 06:37:28 +0100Tops2(~Tobias@dyndsl-095-033-090-206.ewe-ip-backbone.de) (Ping timeout: 276 seconds)
2021-02-27 06:38:26 +0100Benett(~Benett@unaffiliated/benett) (Ping timeout: 240 seconds)
2021-02-27 06:38:35 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 265 seconds)
2021-02-27 06:38:39 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds)
2021-02-27 06:40:23 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 06:40:33 +0100Benett(~Benett@unaffiliated/benett)
2021-02-27 06:41:48 +0100vchlup_(~vchlup@115.128.broadband17.iol.cz) (Remote host closed the connection)
2021-02-27 06:43:27 +0100vchlup(~vchlup@115.128.broadband17.iol.cz)
2021-02-27 06:43:27 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 06:43:40 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 06:43:58 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 276 seconds)
2021-02-27 06:45:16 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-27 06:45:18 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 246 seconds)
2021-02-27 06:45:50 +0100__minoru__shirae(~shiraeesh@46.34.207.247) (Ping timeout: 265 seconds)
2021-02-27 06:49:56 +0100mawk(mawk@serveur.io) (Ping timeout: 240 seconds)
2021-02-27 06:50:21 +0100hackageslack-web 0.3.0.0 - Bindings for the Slack web API https://hackage.haskell.org/package/slack-web-0.3.0.0 (igrep)
2021-02-27 06:52:37 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-02-27 06:53:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 06:53:57 +0100average(uid473595@gateway/web/irccloud.com/x-zorlcjntmtivoxma) (Quit: Connection closed for inactivity)
2021-02-27 06:56:36 +0100fnlaai(67691c87@103.105.28.135) (Quit: Connection closed)
2021-02-27 06:56:42 +0100slack1256(~slack1256@45.4.2.52) (Remote host closed the connection)
2021-02-27 06:57:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2021-02-27 07:00:31 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2021-02-27 07:00:51 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2021-02-27 07:01:08 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 07:01:28 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 07:03:04 +0100shatriff(~vitaliish@protective.remission.volia.net) (Remote host closed the connection)
2021-02-27 07:03:40 +0100shatriff(~vitaliish@protective.remission.volia.net)
2021-02-27 07:04:16 +0100Narinas(~Narinas@187.250.25.111.dsl.dyn.telnor.net) (Ping timeout: 240 seconds)
2021-02-27 07:04:16 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 07:04:56 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 07:06:39 +0100Varis(~Tadas@unaffiliated/varis)
2021-02-27 07:07:45 +0100nineonine(~nineonine@50.216.62.2)
2021-02-27 07:09:55 +0100forgottenone(~forgotten@176.42.27.254) (Quit: Konversation terminated!)
2021-02-27 07:10:35 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 07:11:20 +0100forgottenone(~forgotten@176.42.27.254)
2021-02-27 07:11:43 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 07:12:38 +0100xff0x(~xff0x@2001:1a81:5311:f400:d9f4:8c95:2d13:97c0) (Ping timeout: 264 seconds)
2021-02-27 07:13:20 +0100xff0x(~xff0x@2001:1a81:5311:f400:5eb:94a4:8141:c21f)
2021-02-27 07:16:07 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-02-27 07:16:29 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 07:17:44 +0100afidegnum(~afidegnum@102.176.65.26) (Ping timeout: 265 seconds)
2021-02-27 07:20:25 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-02-27 07:24:26 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 07:24:58 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 07:28:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-02-27 07:29:06 +0100Saukk(~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection)
2021-02-27 07:29:20 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 07:30:40 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-02-27 07:32:36 +0100_vaibhavingale_(~Adium@203.188.228.9)
2021-02-27 07:35:01 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-02-27 07:37:53 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 07:38:37 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 07:39:12 +0100nineonin_(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 07:39:31 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-27 07:42:28 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 276 seconds)
2021-02-27 07:43:05 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Ping timeout: 272 seconds)
2021-02-27 07:44:39 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 07:45:15 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 07:45:26 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Quit: WeeChat 3.0)
2021-02-27 07:46:53 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
2021-02-27 07:46:54 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-27 07:47:07 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-02-27 07:49:08 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 07:49:29 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 07:51:10 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9)
2021-02-27 07:54:23 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-02-27 07:55:06 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 07:55:27 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 07:57:33 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 264 seconds)
2021-02-27 07:58:16 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 07:58:46 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2021-02-27 07:59:00 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:04:04 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 08:05:07 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:05:47 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:10:33 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42)
2021-02-27 08:11:12 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-27 08:12:03 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:12:31 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:14:38 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-27 08:15:16 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 240 seconds)
2021-02-27 08:17:19 +0100sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-251.dsl.bell.ca) (Ping timeout: 256 seconds)
2021-02-27 08:19:09 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2021-02-27 08:23:36 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
2021-02-27 08:25:20 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:26:18 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:29:37 +0100moet(~moet@172.58.35.77)
2021-02-27 08:30:03 +0100poscat(~poscat@114.243.61.85)
2021-02-27 08:30:39 +0100aggin(~ecm@103.88.87.10)
2021-02-27 08:30:42 +0100 <moet> i made a silly "fifo" datatype which implements "push" with (:) and "drain" with `reverse` .. does this make sense? it's useful if you're going to side-effect with eg `mapM_` but it's totally dumb if you want to fold because "foldl is bad" ..
2021-02-27 08:30:50 +0100 <moet> what's a better approach than this?
2021-02-27 08:31:09 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ace8:9f2e:8b98:ae8a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 08:32:03 +0100 <moet> tbh, this has my head all screwed up.. people saying things like "foldr is forwards" is batshit: https://stackoverflow.com/questions/3082324/foldl-versus-foldr-behavior-with-infinite-lists
2021-02-27 08:32:17 +0100 <moet> > foldr ($) 0 [(+1), (*10), (/2)] :: Float
2021-02-27 08:32:17 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:32:18 +0100 <lambdabot> 1.0
2021-02-27 08:32:25 +0100 <moet> > foldl (flip ($)) 0 [(+1), (*10), (/2)] :: Float
2021-02-27 08:32:27 +0100 <lambdabot> 5.0
2021-02-27 08:32:44 +0100 <moet> foldr applies the division first, then the multiplication .. it's clearly the backwards one
2021-02-27 08:32:52 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:36:19 +0100zmv-(~zmv@189.79.134.102)
2021-02-27 08:37:26 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
2021-02-27 08:38:17 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-02-27 08:39:37 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:40:07 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:40:29 +0100 <boxscape> I wouldn't put too much emphasis on which one is forwards vs backwards, that seems to depend on how you use those terms. The important thing is that one converts [a,b,c] into (((z `f` a) `f` b) `f` c) `f` z, and the other into a `f` (b `f` (c `f` z))).
2021-02-27 08:41:13 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 08:41:19 +0100 <boxscape> moet as for a fifo data structure, not sure what would be the best option but you can get a large performance improvement here if you use Sequences rather than lists
2021-02-27 08:41:34 +0100 <boxscape> i.e. Data.Sequence.Seq
2021-02-27 08:42:04 +0100 <boxscape> if I'm understanding what you want to do correctly
2021-02-27 08:42:34 +0100 <moet> You are. I can't use external libraries for reasons, so I did a quick and dirty fifo
2021-02-27 08:42:41 +0100 <boxscape> ah
2021-02-27 08:42:45 +0100 <moet> I expect the lists to be very small, so perhaps all this doesn't matter
2021-02-27 08:44:07 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-02-27 08:44:29 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-02-27 08:44:37 +0100 <moet> I need to internalize that associativity interpretation aparrently; thanks boxscape
2021-02-27 08:44:44 +0100 <moet> apparently** ok, it's bedtime
2021-02-27 08:44:56 +0100 <boxscape> good night :)
2021-02-27 08:45:04 +0100 <moet> thanks; good night
2021-02-27 08:45:06 +0100moet(~moet@172.58.35.77) (Quit: leaving)
2021-02-27 08:45:36 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-27 08:45:43 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:46:54 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:47:06 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-02-27 08:48:11 +0100 <Feuermagier> \list
2021-02-27 08:49:53 +0100CatWithMoustache(~CatWithMo@gateway/tor-sasl/catwithmoustache)
2021-02-27 08:50:21 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2021-02-27 08:50:55 +0100CatWithMoustache(~CatWithMo@gateway/tor-sasl/catwithmoustache) ()
2021-02-27 08:52:00 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-pcguwrpjphfcmwqk) (Quit: Connection closed for inactivity)
2021-02-27 08:52:27 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:53:13 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 08:54:58 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-02-27 08:59:23 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 08:59:59 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 09:01:02 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 09:01:30 +0100pavonia^\_^\pavonia
2021-02-27 09:02:06 +0100desophos(~desophos@2601:249:1680:a570:b97d:e49f:4b50:473b) (Read error: Connection reset by peer)
2021-02-27 09:03:18 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9)
2021-02-27 09:03:33 +0100GZJ0X_(~gzj@unaffiliated/gzj) (Ping timeout: 246 seconds)
2021-02-27 09:05:18 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-ngsliaqaashyeyvi) (Quit: Connection closed for inactivity)
2021-02-27 09:06:01 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 09:06:42 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 09:10:36 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 240 seconds)
2021-02-27 09:17:13 +0100Varis(~Tadas@unaffiliated/varis)
2021-02-27 09:19:53 +0100heatsink(~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection)
2021-02-27 09:19:53 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 09:20:22 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 09:21:16 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-27 09:21:27 +0100 <koz_> @unmtl ReaderT r (Cont r') a
2021-02-27 09:21:27 +0100 <lambdabot> r -> (a -> r') -> r'
2021-02-27 09:21:36 +0100 <koz_> @unmtl ContT r' (Reader r) a
2021-02-27 09:21:36 +0100 <lambdabot> (a -> r -> r') -> r -> r'
2021-02-27 09:22:10 +0100ubert(~Thunderbi@p200300ecdf25d93028739d2391791b0e.dip0.t-ipconnect.de)
2021-02-27 09:22:31 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2021-02-27 09:24:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 09:24:58 +0100frozenErebus(~frozenEre@94.128.219.166) (Client Quit)
2021-02-27 09:26:23 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 09:27:10 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 09:28:43 +0100carldd11(~carldd@90-224-49-113-no56.tbcn.telia.com) (Ping timeout: 256 seconds)
2021-02-27 09:30:03 +0100 <jackdk> ARRRR
2021-02-27 09:31:14 +0100 <koz_> ARR'R :P
2021-02-27 09:32:08 +0100 <Uniaika> :t ARRRR
2021-02-27 09:32:09 +0100 <lambdabot> error: Data constructor not in scope: ARRRR
2021-02-27 09:32:27 +0100 <Uniaika> jackdk: fix your imporrrrts! :P
2021-02-27 09:32:51 +0100 <koz_> Needs more Data.Arrrrrrrray.
2021-02-27 09:33:07 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 09:33:28 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 09:33:28 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 09:33:35 +0100 <Uniaika> yup
2021-02-27 09:34:01 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 09:34:26 +0100aggin(~ecm@103.88.87.10) (Quit: WeeChat 3.0.1)
2021-02-27 09:34:42 +0100 <boxscape> looks like combinator calculus to me, just not sure yet what the A and R combinators do
2021-02-27 09:37:43 +0100 <koz_> So basically every program is just pirate talk.
2021-02-27 09:39:51 +0100 <boxscape> AYE MATEY
2021-02-27 09:40:48 +0100 <koz_> What's a pirate's favourite type class?
2021-02-27 09:40:52 +0100 <koz_> Answer: Arrow.
2021-02-27 09:44:26 +0100ubert(~Thunderbi@p200300ecdf25d93028739d2391791b0e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-02-27 09:46:49 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 09:47:02 +0100drbean_(~drbean@TC210-63-209-22.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-02-27 09:47:48 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 09:53:34 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 09:54:31 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 09:54:40 +0100andy(01c84f1a@1.200.79.26)
2021-02-27 09:55:03 +0100andyGuest34200
2021-02-27 09:55:30 +0100 <Guest34200> hello
2021-02-27 09:55:56 +0100kit(~kit@103.231.91.232)
2021-02-27 09:56:15 +0100kit(~kit@103.231.91.232) (Client Quit)
2021-02-27 09:59:50 +0100 <boxscape> hey
2021-02-27 10:01:56 +0100redmp(~redmp@172.58.35.77) (Ping timeout: 240 seconds)
2021-02-27 10:05:03 +0100 <Guest34200> is anyone familiar with hip? i'm trying to use it to read an image and then represent the pixels of the image in a list of doubles. can someone point me in the right direction? i've tried using readImageY but that seems to give me the type IO (Image arr Y Double) and i'm not sure how to convert from here
2021-02-27 10:05:35 +0100borne(~fritjof@2a06:8782:ffbb:1337:2133:4ed6:e22f:c3eb)
2021-02-27 10:09:14 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga)
2021-02-27 10:09:57 +0100hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
2021-02-27 10:10:15 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-02-27 10:13:55 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 10:14:35 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 10:19:18 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-02-27 10:20:37 +0100heatsink(~heatsink@2600:1700:bef1:5e10:4406:ac3b:67d1:16b9)
2021-02-27 10:20:41 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 10:21:54 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 10:22:25 +0100dwts_(pid@gateway/shell/blinkenshell.org/x-cbprcwhcmsnoinei) (Remote host closed the connection)
2021-02-27 10:25:01 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-02-27 10:27:02 +0100xff0x(~xff0x@2001:1a81:5311:f400:5eb:94a4:8141:c21f) (Ping timeout: 264 seconds)
2021-02-27 10:27:33 +0100xff0x(~xff0x@2001:1a81:5311:f400:9530:24a1:6c01:a8d6)
2021-02-27 10:27:33 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 10:28:10 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 10:29:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:4406:ac3b:67d1:16b9) (Ping timeout: 264 seconds)
2021-02-27 10:30:02 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:2f12:f782:a87b:e2ae) (Ping timeout: 264 seconds)
2021-02-27 10:31:32 +0100 <tomsmeding> Guest34200: not familiar with hip, but you might want to try https://hackage.haskell.org/package/hip-1.5.6.0/docs/Graphics-Image-Interface.html#v:toVector ?
2021-02-27 10:33:05 +0100vicfred(~vicfred@unaffiliated/vicfred) (Read error: Connection reset by peer)
2021-02-27 10:35:01 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-02-27 10:38:45 +0100sQVe(~sQVe@unaffiliated/sqve)
2021-02-27 10:40:52 +0100puffnfresh_(~puffnfres@45.76.124.5) (Quit: ZNC 1.8.0 - https://znc.in)
2021-02-27 10:41:11 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 10:41:23 +0100nineonin_(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-02-27 10:41:49 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 10:41:59 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 10:42:06 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 10:43:38 +0100BIG_JIMMY_D(~jim@108.61.185.76) (Ping timeout: 265 seconds)
2021-02-27 10:44:15 +0100puffnfresh_(~puffnfres@45.76.124.5)
2021-02-27 10:45:34 +0100raym(~ray@45.64.220.3) (Quit: leaving)
2021-02-27 10:46:45 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 272 seconds)
2021-02-27 10:47:17 +0100Feuermagier(~Feuermagi@213.178.26.41) (Quit: Leaving)
2021-02-27 10:47:29 +0100 <ij> I am trying out the hip library and I noticed that if the channel's value is constrained by Interface.Elevator.Elevator e, then I can't write an image, because the concrete value is undecidable. If I divide the image (and thus channels) by (/ 400), then channel becomes (Elevator e, Fractional e) and then it collapses into something concrete/digestable for writeImage. How does that work from the
2021-02-27 10:47:30 +0100 <ij> type system perspective?
2021-02-27 10:47:30 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2021-02-27 10:48:31 +0100 <ij> When I give it to writeImage, that also puts more constraints on the channel type, but still – how does anything end up being concrete after putting multiple constraints on it?
2021-02-27 10:49:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-02-27 10:49:08 +0100BIG_JIMMY_D(~jim@108.61.185.76)
2021-02-27 10:49:12 +0100 <ij> ha, it's hip day today, I guess
2021-02-27 10:52:03 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Quit: Leaving)
2021-02-27 10:52:22 +0100 <ij> Guest34200, you might have to constrain arr to VS like in the Graphics.Image.IO docs example
2021-02-27 10:54:31 +0100 <ij> this works for me: :t readImageExact JPG "images/frog.jpg" :: IO (Either String (Image VS Y Double))
2021-02-27 10:54:46 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 10:55:22 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 10:55:54 +0100 <Guest34200> hmm okay let me give it a shot
2021-02-27 10:56:24 +0100 <ij> make sure you have the frog! (.jpg)
2021-02-27 10:57:06 +0100 <Guest34200> how would I extract the pixel info from the image? I feel like i'm misunderstanding something lol
2021-02-27 10:57:21 +0100 <Guest34200> i'm assuming readImage already stores the pixels with double precision
2021-02-27 10:57:35 +0100 <Guest34200> I'm a bit lost on how to access said information and do stuff with it
2021-02-27 10:57:37 +0100 <ij> do you want to read a single pixel?
2021-02-27 10:57:46 +0100 <Guest34200> all of them
2021-02-27 10:58:10 +0100 <ij> well, I couldn't get readImage to work myself. Do you know what each bit of info in Image type variables means, btw?
2021-02-27 10:58:29 +0100 <Guest34200> you mean in Image VS Y Double ?
2021-02-27 10:58:32 +0100 <ij> yeah
2021-02-27 10:58:36 +0100 <Guest34200> uhhh
2021-02-27 10:58:44 +0100 <Guest34200> i think VS is how the image is represented
2021-02-27 10:58:56 +0100 <Guest34200> Y is for grayscale?
2021-02-27 10:59:05 +0100 <Guest34200> and double is how the pixels r represented
2021-02-27 10:59:08 +0100 <ij> cool
2021-02-27 10:59:14 +0100 <Guest34200> is that right
2021-02-27 10:59:26 +0100borne(~fritjof@2a06:8782:ffbb:1337:2133:4ed6:e22f:c3eb) (Ping timeout: 264 seconds)
2021-02-27 10:59:39 +0100 <ij> yes, I am not sure which specific kind of vector VS is, but I knew the VU one I am working with
2021-02-27 10:59:59 +0100 <ij> well, the docs outline many kinds of accessors: https://hackage.haskell.org/package/hip-1.5.6.0/docs/Graphics-Image.html#g:6
2021-02-27 11:00:19 +0100int80h(uid148779@gateway/web/irccloud.com/x-yapefbeohzqydcto)
2021-02-27 11:00:38 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net)
2021-02-27 11:00:38 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-02-27 11:00:38 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-02-27 11:01:02 +0100 <ij> what kind of reading are you looking for exactly?
2021-02-27 11:01:22 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:01:27 +0100 <Guest34200> to provide some more context, i want to represent the image as a 2d list of doubles [ [Double] ]
2021-02-27 11:01:41 +0100 <ij> you're looking for toLists
2021-02-27 11:01:56 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:02:05 +0100 <Guest34200> ah
2021-02-27 11:02:16 +0100 <Guest34200> toLists :: MArray arr cs e => Image arr cs e -> [[Pixel cs e]]
2021-02-27 11:02:49 +0100 <ij> if you click on Pixel, you'll get docs on how to break that down further
2021-02-27 11:03:31 +0100 <Guest34200> ah so you can specify the colorspace and the precision
2021-02-27 11:04:01 +0100 <Guest34200> what is so special about MArray?
2021-02-27 11:04:18 +0100 <Guest34200> "Array representation that is actually has real data stored in memory, "
2021-02-27 11:04:19 +0100Rudd0(~Rudd0@185.189.115.108)
2021-02-27 11:06:39 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42)
2021-02-27 11:07:01 +0100 <ij> the regular Arrays will probably be also stored in memory, but they'll have their operations defined in a pure way
2021-02-27 11:07:17 +0100 <Guest34200> right
2021-02-27 11:07:39 +0100 <tomsmeding> MArray stands for Mutable Array; note the 'write' method of the class
2021-02-27 11:07:58 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-02-27 11:08:17 +0100 <Guest34200> ahh
2021-02-27 11:08:17 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:09:09 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:09:15 +0100 <ij> anyway, I converted the frog to grayscale with specifying that only with types :D
2021-02-27 11:09:37 +0100 <Guest34200> so if I were to use toLists, how would I specify the colorspace and the precision? from the example:  img == fromLists (toLists img) it only provides the image
2021-02-27 11:10:03 +0100 <ij> first read an image with the concrete desired types and toLists will output those
2021-02-27 11:10:49 +0100 <ij> see the readImageExact I posted above
2021-02-27 11:11:25 +0100 <Guest34200> oh so you need to read the image first, and toLists will take whatever colorspace and precision the image was read with and just put it into a list of lists?
2021-02-27 11:11:46 +0100 <ij> unsurprisingly, yes :)
2021-02-27 11:12:05 +0100xff0x(~xff0x@2001:1a81:5311:f400:9530:24a1:6c01:a8d6) (Ping timeout: 272 seconds)
2021-02-27 11:12:45 +0100xff0x(~xff0x@2001:1a81:5311:f400:99b1:a451:602d:e252)
2021-02-27 11:13:14 +0100 <Guest34200> ah ok i'll try that
2021-02-27 11:14:06 +0100 <Guest34200> ooh how does it know how many lists to have nested within the outer list? does it read the dimensions of the image?
2021-02-27 11:14:45 +0100 <ij> it would be a weird image library if it didn't read the dimensions
2021-02-27 11:14:56 +0100 <Guest34200> true true
2021-02-27 11:14:56 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:15:03 +0100 <ij> "VS - Vector Storable representation."
2021-02-27 11:15:28 +0100 <Guest34200> oh right
2021-02-27 11:15:40 +0100 <Guest34200> so If I were to use, say VU
2021-02-27 11:15:43 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:15:49 +0100 <Guest34200> i would not be able to do this? because that information isn't stored?
2021-02-27 11:16:10 +0100 <ij> no, both should be fine
2021-02-27 11:16:18 +0100 <ij> it's about vector internals, it shouldn't matter
2021-02-27 11:17:12 +0100 <Guest34200> oh
2021-02-27 11:17:14 +0100 <ij> (it's Vector.Storable vs Vector.Unboxed)
2021-02-27 11:19:47 +0100 <Guest34200> Expected kind `* -> * -> *', but `Image I.VS' has kind `*'
2021-02-27 11:20:00 +0100 <Guest34200> does this mean more inputs were expected?
2021-02-27 11:20:16 +0100 <Guest34200> sorry I'm still learning about type signatures so this is all very unfamiliar to me
2021-02-27 11:20:44 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 11:21:45 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:22:05 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-02-27 11:22:26 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:23:38 +0100 <ij> image should have 3 type arguments like readImageExact example above, right?
2021-02-27 11:26:26 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-02-27 11:27:22 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-xgujbhvivyzipvnb) (Quit: Connection closed for inactivity)
2021-02-27 11:28:07 +0100 <Guest34200> yeah
2021-02-27 11:28:23 +0100 <Guest34200>   procImg <- I.readImageY I.VS img
2021-02-27 11:28:23 +0100 <Guest34200>     let newImg = toLists
2021-02-27 11:28:24 +0100 <Guest34200>     return newImg
2021-02-27 11:28:42 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:29:11 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:29:12 +0100 <Guest34200> img should be a file path
2021-02-27 11:29:53 +0100 <Guest34200>  procImg <- I.readImageY I.VS "test.png"
2021-02-27 11:30:38 +0100LKoen(~LKoen@185.61.176.203)
2021-02-27 11:34:58 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 11:35:24 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:35:56 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:36:55 +0100fendor(~fendor@91.141.0.74.wireless.dyn.drei.com)
2021-02-27 11:37:23 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-02-27 11:40:07 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-hqwlvmypxcgqlrdh)
2021-02-27 11:42:07 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:42:44 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:43:53 +0100 <Guest34200> it seems toLists is formatted in this way: [[<Luma:(0.9372549019607843)>,<Luma:(0.8549019607843137)>]], is there a way to get rid of the name of the precision?
2021-02-27 11:45:04 +0100z0k(~user@115-186-141-91.nayatel.pk) (Read error: Connection reset by peer)
2021-02-27 11:45:55 +0100z0k(~user@115-186-141-91.nayatel.pk)
2021-02-27 11:48:49 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 11:49:14 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 268 seconds)
2021-02-27 11:49:54 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-02-27 11:50:00 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 11:52:14 +0100 <tomsmeding> Guest34200: that would be the Show instance of Pixel
2021-02-27 11:52:19 +0100 <tomsmeding> what's the type of those Pixel values?
2021-02-27 11:52:56 +0100 <tomsmeding> Guest34200: you might want to try https://hackage.haskell.org/package/hip-1.5.6.0/docs/Graphics-Image-Interface.html#v:toListPx ?
2021-02-27 11:53:26 +0100 <Guest34200> uh I wanted to get a 2d list of just the pixel values in double precision
2021-02-27 11:54:18 +0100 <Guest34200> so I guess i would use toListPx? but it seems that would only produce one list
2021-02-27 11:54:34 +0100 <tomsmeding> well you'd map that over your lists of pixels
2021-02-27 11:54:41 +0100 <tomsmeding> so map (map toListPx) (toList ...)
2021-02-27 11:55:03 +0100 <tomsmeding> but what that returns exactly will depend on the precise type of Pixel you have
2021-02-27 11:58:22 +0100average(uid473595@gateway/web/irccloud.com/x-ojfayrlpvuxvtkja)
2021-02-27 11:59:05 +0100 <Guest34200> ah okay
2021-02-27 11:59:09 +0100 <Guest34200> thanks
2021-02-27 12:00:13 +0100troydm(~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2021-02-27 12:02:28 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:02:47 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-27 12:02:58 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9)
2021-02-27 12:03:01 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:03:23 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-02-27 12:04:50 +0100darjeeling_(~darjeelin@122.245.218.150) (Ping timeout: 265 seconds)
2021-02-27 12:06:33 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-02-27 12:06:35 +0100troydm(~troydm@unaffiliated/troydm)
2021-02-27 12:07:59 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net)
2021-02-27 12:08:21 +0100kam1(~kam1@5.125.126.175) (Ping timeout: 264 seconds)
2021-02-27 12:08:56 +0100haritz(~hrtz@unaffiliated/haritz) (Ping timeout: 240 seconds)
2021-02-27 12:09:28 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:09:48 +0100haritz(~hrtz@62.3.70.206)
2021-02-27 12:09:48 +0100haritz(~hrtz@62.3.70.206) (Changing host)
2021-02-27 12:09:48 +0100haritz(~hrtz@unaffiliated/haritz)
2021-02-27 12:10:11 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:10:28 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 12:12:59 +0100nhs(~nhs@ip68-2-235-160.ph.ph.cox.net) (Ping timeout: 256 seconds)
2021-02-27 12:13:18 +0100borne(~fritjof@2a06:8782:ffbb:1337:2133:4ed6:e22f:c3eb)
2021-02-27 12:16:03 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:16:23 +0100coot_(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 12:16:27 +0100__monty__(~toonn@unaffiliated/toonn)
2021-02-27 12:16:41 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:16:57 +0100bibek(~bibek@27.34.20.148) (Quit: WeeChat 3.0)
2021-02-27 12:17:08 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-02-27 12:17:15 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat)
2021-02-27 12:17:19 +0100fendor(~fendor@91.141.0.74.wireless.dyn.drei.com) (Remote host closed the connection)
2021-02-27 12:17:38 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-02-27 12:17:38 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-02-27 12:17:38 +0100mouseghost(~draco@wikipedia/desperek)
2021-02-27 12:17:42 +0100 <Guest34200> if I have a function foo that produces the 2d list constructed from the toList function, and I have another function bar that takes in a 2d list as an argument, how would I pass that 2d list produced by foo into bar? currently I have foo ( do stuff return (2dlist) and in main i'm trying to do bar (foo) but it's giving me type errors, saying it's
2021-02-27 12:17:43 +0100 <Guest34200> expecting IO[Double]. i don't have much experience with functional programming so I'm pretty sure I"m thinking about this the wrong way, can anyone point me in the right direction?
2021-02-27 12:19:33 +0100 <mouseghost> im not sure if you need the `return'
2021-02-27 12:19:56 +0100 <mouseghost> afaik it often refers to wrapping `a' into a monad
2021-02-27 12:19:57 +0100 <__monty__> Guest34200: Does producing the list require IO? (Btw, what do you mean when you say 2d? Because it looks like a flat list of Doubles.)
2021-02-27 12:20:40 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 276 seconds)
2021-02-27 12:20:41 +0100coot_coot
2021-02-27 12:20:53 +0100 <mouseghost> nvm what i said..
2021-02-27 12:21:01 +0100 <tomsmeding> Guest34200: a function of type 'a -> b' needs an 'a' as input, not an 'IO a'
2021-02-27 12:21:09 +0100 <Guest34200> 2d list as in a nested list
2021-02-27 12:21:28 +0100 <tomsmeding> your foo, and the do-block containing foo, will be returning IO [[Pixel ...]]
2021-02-27 12:21:52 +0100 <Guest34200> right yeah
2021-02-27 12:21:53 +0100 <tomsmeding> since 'bar' needs a [[Pixel ...]], you'll need to work in the IO monad
2021-02-27 12:22:07 +0100 <Guest34200> yeah that's the exact error i was getting
2021-02-27 12:22:12 +0100fendor(~fendor@91.141.0.74.wireless.dyn.drei.com)
2021-02-27 12:22:29 +0100 <tomsmeding> one way is: do res <- foo ... ; let output = bar res ; doSomethingWithOutput output
2021-02-27 12:22:38 +0100 <Axman6> No one escapes the Glasgow IO composition!
2021-02-27 12:22:45 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:22:49 +0100 <tomsmeding> because in the do block, after unwrapping with <- , you can use the value as-is, without the IO wrapper
2021-02-27 12:23:13 +0100 <Guest34200> this is my foo: readImg img = do
2021-02-27 12:23:13 +0100 <Guest34200>     procImg <- I.readImageY I.VS img
2021-02-27 12:23:13 +0100 <Guest34200>     let newImg = I.toLists procImg
2021-02-27 12:23:14 +0100 <Guest34200>     return newImg
2021-02-27 12:23:19 +0100 <tomsmeding> a do-block is actually syntactic sugar: it's exactly equivalent to some usage of >>=
2021-02-27 12:23:24 +0100 <tomsmeding> :t (>>=)
2021-02-27 12:23:25 +0100_xor(~xor@74.215.46.133) (Quit: brb)
2021-02-27 12:23:25 +0100 <lambdabot> Monad m => m a -> (a -> m b) -> m b
2021-02-27 12:23:26 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:23:28 +0100kit(~kit@103.231.91.232)
2021-02-27 12:23:43 +0100 <tomsmeding> :t (>>=) :: IO a -> (a -> IO b) -> IO b
2021-02-27 12:23:44 +0100 <lambdabot> IO a -> (a -> IO b) -> IO b
2021-02-27 12:23:50 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-27 12:24:00 +0100 <Guest34200> oh
2021-02-27 12:24:16 +0100kit(~kit@103.231.91.232) (Client Quit)
2021-02-27 12:24:23 +0100 <tomsmeding> that 'IO a' would be the result of foo
2021-02-27 12:24:37 +0100 <tomsmeding> that 'a -> IO b' is another IO action that needs to use the result of foo
2021-02-27 12:24:41 +0100 <tomsmeding> i.e. bar
2021-02-27 12:25:00 +0100 <tomsmeding> if bar doesn't need to perform IO, you can just use the Functor instance of IO:
2021-02-27 12:25:07 +0100 <tomsmeding> :t fmap :: (a -> b) -> IO a -> IO b
2021-02-27 12:25:08 +0100 <lambdabot> (a -> b) -> IO a -> IO b
2021-02-27 12:25:20 +0100 <tomsmeding> fmap bar (readImg img)
2021-02-27 12:26:05 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2021-02-27 12:26:12 +0100 <xsperry> Guest12880, your code looks fine, assuming readImage returns IO something, and that toLists returns non-IO
2021-02-27 12:27:06 +0100 <Guest34200> readImage doesn't return IO i don't think but the function returns IO [[Graphics.Image.ColorSpace.Pixel Y Double]]
2021-02-27 12:27:24 +0100 <xsperry> what function?
2021-02-27 12:27:36 +0100 <xsperry> readImageY?
2021-02-27 12:27:38 +0100 <Guest34200> foo
2021-02-27 12:27:45 +0100 <Guest34200> readimageY is inside of foo
2021-02-27 12:28:00 +0100 <xsperry> what do readImageY and toLists return
2021-02-27 12:28:05 +0100_xor(~xor@74.215.46.133)
2021-02-27 12:28:41 +0100 <Guest34200> oh wait
2021-02-27 12:28:46 +0100 <Guest34200> readImageY does return IO
2021-02-27 12:28:50 +0100 <Guest34200>  IO (Image VS Y Double)
2021-02-27 12:28:59 +0100basoares(~basoares@2a04:ee41:4:2178:a846:18f7:81d4:249b)
2021-02-27 12:29:05 +0100basoares_(~basoares@2a04:ee41:4:2178:a846:18f7:81d4:249b)
2021-02-27 12:29:06 +0100 <Guest34200> to lists returns [[Pixel Y Double]]
2021-02-27 12:29:35 +0100 <xsperry> so your readImg function looks fine.. if you get errors post a test case, with error messages
2021-02-27 12:29:36 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:29:54 +0100basoares_(~basoares@2a04:ee41:4:2178:a846:18f7:81d4:249b) (Client Quit)
2021-02-27 12:30:21 +0100hackagearch-hs 0.7.1.0 - Distribute hackage packages to archlinux https://hackage.haskell.org/package/arch-hs-0.7.1.0 (berberman)
2021-02-27 12:30:42 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:31:07 +0100jacks2(~bc8134e3@217.29.117.252)
2021-02-27 12:31:09 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2021-02-27 12:32:43 +0100 <Guest34200> * Couldn't match type `[]' with `IO'
2021-02-27 12:32:43 +0100 <Guest34200>       Expected type: IO [Double]
2021-02-27 12:32:44 +0100 <Guest34200>         Actual type: [[Double]]
2021-02-27 12:33:01 +0100 <Guest34200> this is on one of the lines in bar
2021-02-27 12:33:30 +0100 <xsperry> there's no bar above
2021-02-27 12:33:31 +0100 <Guest34200> someFunction (readImg filepath)
2021-02-27 12:33:58 +0100 <Guest34200> this is the line ghci is screaming at ^
2021-02-27 12:34:32 +0100 <Guest34200> sorry ill make it more clear
2021-02-27 12:34:35 +0100Deide(~Deide@217.155.19.23)
2021-02-27 12:34:49 +0100 <jacks2> best to post compilable example
2021-02-27 12:34:59 +0100 <Guest34200> main :: IO ()
2021-02-27 12:34:59 +0100 <Guest34200> main = do
2021-02-27 12:35:00 +0100 <Guest34200>     bar (readImg filepath)
2021-02-27 12:35:10 +0100 <jacks2> use some pastebin
2021-02-27 12:36:39 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:36:54 +0100 <Guest34200> https://pastebin.com/js1mUD5N
2021-02-27 12:37:05 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-02-27 12:37:26 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 12:37:26 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:37:46 +0100 <mouseghost> 404 not found
2021-02-27 12:37:53 +0100 <Guest34200> ?.?
2021-02-27 12:37:53 +0100 <lambdabot> Maybe you meant: ? .
2021-02-27 12:37:59 +0100 <Guest34200> one sec lol
2021-02-27 12:38:07 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 12:38:13 +0100 <__monty__> @where paste
2021-02-27 12:38:13 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-02-27 12:38:30 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 12:39:30 +0100 <Guest34200> https://paste.tomsmeding.com/YFGfSk0C
2021-02-27 12:40:36 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-02-27 12:41:07 +0100borne(~fritjof@2a06:8782:ffbb:1337:2133:4ed6:e22f:c3eb) (Quit: WeeChat 3.0)
2021-02-27 12:41:48 +0100 <jacks2> what's the type of convolveXY?
2021-02-27 12:42:29 +0100 <Guest34200> forall a. Num a => [[a]] -> [[a]] -> [[a]]
2021-02-27 12:42:37 +0100 <jacks2> and what's the type of readImg "volcano.jpg"?
2021-02-27 12:42:51 +0100 <Guest34200> FilePath -> IO [[Graphics.Image.ColorSpace.Pixel Y Double]]
2021-02-27 12:42:57 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 12:43:07 +0100 <jacks2> it's IO [[Graphics.Image.ColorSpace.Pixel Y Double]]
2021-02-27 12:43:07 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:43:15 +0100 <Guest34200> oh
2021-02-27 12:43:18 +0100 <jacks2> see the problem?
2021-02-27 12:43:26 +0100 <Guest34200> yeah it outputs io
2021-02-27 12:43:32 +0100 <jacks2> yes
2021-02-27 12:43:37 +0100 <Guest34200> but convolvexy takes in [[a]]
2021-02-27 12:43:43 +0100 <Guest34200> specifically [[double]]
2021-02-27 12:43:57 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:44:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 12:44:46 +0100 <Guest34200> tomsmeding mentioned earlier working in the IO monad as a resolution
2021-02-27 12:45:34 +0100 <jacks2> you can do the same thing you did in readImg, use <-
2021-02-27 12:47:57 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 264 seconds)
2021-02-27 12:48:11 +0100 <Guest34200> as in
2021-02-27 12:48:25 +0100 <Guest34200> set convolvexy ....... to a variable?
2021-02-27 12:48:26 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-02-27 12:48:33 +0100terrorjack(~terrorjac@ec2-18-162-149-225.ap-east-1.compute.amazonaws.com)
2021-02-27 12:48:38 +0100 <Guest34200> like result <- convolvexy .. . ...
2021-02-27 12:48:59 +0100chloekek(~chloekek@84-80-232-61.fixed.kpn.net)
2021-02-27 12:49:29 +0100 <jacks2> no, your issue, as you noticed above, is that readImg "volcano.jpg" returns IO [[..]] and convolvexy accepts [[..]]
2021-02-27 12:49:32 +0100 <chloekek> Does it make sense to use Cabal’s Nix integration when already running cabal from nix-shell?
2021-02-27 12:49:54 +0100 <Guest34200> right
2021-02-27 12:49:54 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:50:22 +0100hackagexml-conduit 1.9.1.0 - Pure-Haskell utilities for dealing with XML with the conduit package. https://hackage.haskell.org/package/xml-conduit-1.9.1.0 (koral)
2021-02-27 12:50:26 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:50:33 +0100 <jacks2> so use <- to end up with [[..]] from readImg "volcano.jpg"
2021-02-27 12:51:28 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-02-27 12:53:54 +0100 <Guest34200> hmm I think I'm misunderstanding <-. I'm thinking of it in a imperative way, <- is like a statement no?
2021-02-27 12:54:58 +0100 <jacks2> :t getLine
2021-02-27 12:54:59 +0100 <lambdabot> IO String
2021-02-27 12:55:11 +0100 <jacks2> do line <- getLine; -- line is now String
2021-02-27 12:55:19 +0100 <Guest34200> :o
2021-02-27 12:55:25 +0100 <Guest34200> wow
2021-02-27 12:55:56 +0100 <Guest34200> so you're able to assign types like that?
2021-02-27 12:56:07 +0100 <jacks2> I figured you understand that much, since you are doing it in readImg
2021-02-27 12:56:35 +0100 <Guest34200> well I was thinking of it in the imperative way haha
2021-02-27 12:56:44 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 12:57:06 +0100 <Guest34200> like i'm assigning the output of some function to procImg
2021-02-27 12:57:34 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 12:58:39 +0100 <__monty__> Guest34200: What helped me understand is seeing do-notation desugared. `do { x <- getLine; putStrLn x }` desugars to `getLine >>= \x -> putStrLn x`.
2021-02-27 12:59:57 +0100 <__monty__> While `do { print 1; print 2 }` desugars to `print 1 >> print 2` which is equivalent to `print 1 >>= \_ -> print 2`, so unless you use <- you're not binding the value in what follows.
2021-02-27 13:01:51 +0100 <jacks2> <- in do allows you to seemingly remove IO within a do block, with a ceveat caveat that do block itself returns IO at the end. you can't escape IO once you start using it
2021-02-27 13:02:24 +0100 <Guest34200> i see
2021-02-27 13:02:24 +0100jacks2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (EOF))
2021-02-27 13:03:17 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-02-27 13:04:02 +0100jacks2(~bc8134e3@217.29.117.252)
2021-02-27 13:04:07 +0100 <jacks2> "do line <- getLine; putStrLn line" desugars to "getLine >>= \line -> putStrLn line" which is just "getLine >>= putStrLn"
2021-02-27 13:05:08 +0100 <jacks2> havre you used Maybe yet?
2021-02-27 13:05:10 +0100 <jacks2> have*
2021-02-27 13:05:35 +0100 <Guest34200> no
2021-02-27 13:06:05 +0100 <Guest34200> doing  res <- readImg "vol.jpg" and then convolveXY res [[0.33,0.33,0.33],[0.33,0.33,0.33],[0.33,0.33,0.33]] still gives me the same error
2021-02-27 13:06:27 +0100 <Guest34200> but res shows up as the correct type
2021-02-27 13:06:50 +0100zaquest(~notzaques@5.128.210.178)
2021-02-27 13:06:57 +0100codedmart_codedmart
2021-02-27 13:07:24 +0100 <ezzieyguywuf> MarcelineVQ: thanks for yoyr thoughts on liquidhaskell
2021-02-27 13:07:47 +0100Guest34200daffy
2021-02-27 13:07:58 +0100 <jacks2> convolveXY doesn't return IO, which is what you have to return in IO do block
2021-02-27 13:08:00 +0100 <jacks2> :t return
2021-02-27 13:08:02 +0100 <lambdabot> Monad m => a -> m a
2021-02-27 13:08:18 +0100 <jacks2> use return to make IO a out of a
2021-02-27 13:09:25 +0100 <daffy> ohhh
2021-02-27 13:09:32 +0100 <jacks2> or, I guess, just print the result since you are in main
2021-02-27 13:10:22 +0100hackagePortMidi-simple 0.1.0.0 - Simplified PortMidi wrapper https://hackage.haskell.org/package/PortMidi-simple-0.1.0.0 (AlexanderBondarenko)
2021-02-27 13:12:17 +0100 <daffy> right
2021-02-27 13:13:43 +0100EoF(~EoF@ip5b419221.dynamic.kabel-deutschland.de)
2021-02-27 13:15:27 +0100 <daffy> if I want to allow the user to input a filepath, does getLine work? or i guess the question i'm asking is does ghci read a filepath as a string
2021-02-27 13:15:35 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-02-27 13:15:49 +0100 <jacks2> yes. FilePath is just alias for String
2021-02-27 13:15:54 +0100EoF(~EoF@ip5b419221.dynamic.kabel-deutschland.de) (Client Quit)
2021-02-27 13:16:25 +0100 <jacks2> or you can pass it as command line argument
2021-02-27 13:16:28 +0100 <jacks2> :t getArgs
2021-02-27 13:16:29 +0100 <lambdabot> error: Variable not in scope: getArgs
2021-02-27 13:16:34 +0100 <jacks2> @hoogle getArgs
2021-02-27 13:16:34 +0100 <lambdabot> System.Environment getArgs :: IO [String]
2021-02-27 13:16:35 +0100 <lambdabot> System.Environment.Blank getArgs :: IO [String]
2021-02-27 13:16:35 +0100 <lambdabot> System.Directory.Internal.Prelude getArgs :: IO [String]
2021-02-27 13:17:32 +0100 <jacks2> use the one in System.Environment getArgs
2021-02-27 13:18:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-02-27 13:19:16 +0100 <daffy> ah okay, thank you man
2021-02-27 13:21:27 +0100gitgood(~gitgood@80-44-13-166.dynamic.dsl.as9105.com)
2021-02-27 13:22:10 +0100 <__monty__> If you want to do command-line arguments take a look at optparse-applicative.
2021-02-27 13:23:21 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 13:23:39 +0100 <jacks2> he has yet to use Maybe, and is just starting how to use do blocks, optparse-applicative might be a bit too advanced at this point :)
2021-02-27 13:23:46 +0100 <jacks2> starting to learn*
2021-02-27 13:23:49 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 13:24:44 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 13:25:32 +0100peutetre(~peutetre@185.163.110.108) (Remote host closed the connection)
2021-02-27 13:26:59 +0100basoares(~basoares@2a04:ee41:4:2178:a846:18f7:81d4:249b) (Ping timeout: 272 seconds)
2021-02-27 13:27:47 +0100 <__monty__> Didn't see that context. And it still depends. Some people prefer just getting things done the dirty way, others prefer investing some more time up front to come to a more elegant solution.
2021-02-27 13:28:14 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-02-27 13:31:27 +0100drbean_(~drbean@TC210-63-209-94.static.apol.com.tw)
2021-02-27 13:32:58 +0100__minoru__shirae(~shiraeesh@46.34.207.247)
2021-02-27 13:33:51 +0100 <daffy> thanks guys for the help, do you guys have any recommendations on books to read or websites for learning haskell?
2021-02-27 13:34:14 +0100geekosaur(ac3a8f5e@172.58.143.94)
2021-02-27 13:34:24 +0100BigLama(~alex@static-176-165-167-17.ftth.abo.bbox.fr)
2021-02-27 13:35:22 +0100 <BigLama> Hi guys, I have somme issues with the Req library https://hackage.haskell.org/package/req-3.9.0/docs/Network-HTTP-Req.html
2021-02-27 13:35:28 +0100 <__monty__> If you're very new there's the books by Graham Hutton or Richard Bird or Haskell from first principles. If you're familiar with functional programming concepts CIS194 is often recommended.
2021-02-27 13:35:46 +0100 <__monty__> @where hutton
2021-02-27 13:35:46 +0100 <lambdabot> I know nothing about hutton.
2021-02-27 13:36:12 +0100 <BigLama> The doc says "Note that if you use req to do all your requests, connection sharing and reuse is done for you automatically." However, I've mad a first requestion to log in (successful) but a second requestion do not seem to share connection...
2021-02-27 13:36:30 +0100 <BigLama> s/requestion/request/
2021-02-27 13:37:13 +0100 <daffy> completely new to functional programming, i've done a little bit of racket but that's it
2021-02-27 13:37:39 +0100dftxbs3e(~dftxbs3e@unaffiliated/dftxbs3e)
2021-02-27 13:37:39 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 13:37:49 +0100 <__monty__> @where PIH
2021-02-27 13:37:49 +0100 <lambdabot> "Programming in Haskell" by Graham Hutton in 2007-01-15,2016-09-01 at <http://www.cs.nott.ac.uk/~pszgmh/pih.html>
2021-02-27 13:38:04 +0100 <__monty__> http://www.cs.ox.ac.uk/publications/books/functional/
2021-02-27 13:38:12 +0100 <__monty__> @where HPFFP
2021-02-27 13:38:12 +0100 <lambdabot> "Haskell Programming: from first principles - Pure functional programming without fear or frustration" by Chistopher Allen (bitemyapp),Julie Moronuki at <http://haskellbook.com/>,#haskell-beginners
2021-02-27 13:38:26 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 13:38:29 +0100 <daffy> awesome, thanks!
2021-02-27 13:39:26 +0100 <__monty__> BigLama: Compiled or in GHCi? And maybe it's only about reusing TCP connections?
2021-02-27 13:42:37 +0100chloekek(~chloekek@84-80-232-61.fixed.kpn.net) (Quit: Leaving)
2021-02-27 13:43:56 +0100 <ij> does repa or vector have functionality that could grow each pixel into a NxN in place?
2021-02-27 13:45:22 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 13:45:57 +0100xelxebar_(~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
2021-02-27 13:47:48 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2021-02-27 13:48:18 +0100LKoen(~LKoen@185.61.176.203) (Remote host closed the connection)
2021-02-27 13:48:28 +0100 <BigLama> __monty__: compiled
2021-02-27 13:48:52 +0100hackagehslua-core 1.0.0 - Bindings to Lua, an embeddable scripting language https://hackage.haskell.org/package/hslua-core-1.0.0 (tarleb)
2021-02-27 13:49:04 +0100 <BigLama> __monty__: that would be too bad. I'm looking for the same functionnalites as sessions in Python's requests
2021-02-27 13:49:53 +0100 <__monty__> BigLama: I'd wait for someone who's familiar with the library. That may well be the intent.
2021-02-27 13:50:58 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-02-27 13:50:58 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 13:51:22 +0100 <BigLama> __monty__: Okay, thanks. I've spend quite a few hours trying to make this work but could not figure it out
2021-02-27 13:51:32 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 13:51:57 +0100 <ij> what I'm looking for is actually flatten :D
2021-02-27 13:52:53 +0100basoares(~basoares@2a04:ee41:4:2178:ed37:7464:5079:3088)
2021-02-27 13:54:39 +0100 <__monty__> BigLama: Are you doing all the requests with req in a single `runReq`?
2021-02-27 13:55:33 +0100 <BigLama> __monty__: I've tried in a single runReq and in severals
2021-02-27 13:57:04 +0100 <__monty__> And you're sure you don't need to pass an authentication token you get from the login in the headers of other requests?
2021-02-27 13:57:08 +0100forgottenone(~forgotten@176.42.27.254) (Read error: Connection reset by peer)
2021-02-27 13:57:29 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-02-27 13:57:57 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 13:58:11 +0100forgottenone(~forgotten@176.42.27.254)
2021-02-27 13:58:54 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 13:59:31 +0100 <BigLama> __monty__: I don't know. In python, I log in first using a POST request and using their sessions mecanims, there is no need to pass anything else later on
2021-02-27 13:59:46 +0100darjeeling_(~darjeelin@122.245.218.150)
2021-02-27 13:59:54 +0100 <tomsmeding> presumably it stores a cookie or something
2021-02-27 14:00:10 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 14:00:31 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 14:00:59 +0100 <BigLama> tomsmeding: Req does not allow for cookies management at my beginner level :/
2021-02-27 14:01:02 +0100 <BigLama> https://paste.tomsmeding.com/DBMIZz02
2021-02-27 14:01:03 +0100 <tomsmeding> web services don't generally require you to actually keep one tcp connection open when sending multiple requests for one account, because many http applications don't support that for various reasons
2021-02-27 14:01:40 +0100 <tomsmeding> "Support for cookies is quite minimalistic at the moment." - oh
2021-02-27 14:01:45 +0100 <BigLama> Here's my code for reference. The first GET request is a hack to get some attribute. The second request should be enough to stay logged Inoperable
2021-02-27 14:02:02 +0100 <BigLama> logged in*
2021-02-27 14:02:12 +0100 <BigLama> Back to Python I think  :/
2021-02-27 14:02:46 +0100 <tomsmeding> let me have a look
2021-02-27 14:04:21 +0100 <tomsmeding> oh I was looking at the wrong library lol
2021-02-27 14:04:40 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 14:05:06 +0100 <BigLama> tomsmeding: It's this one https://hackage.haskell.org/package/req. Thanks !
2021-02-27 14:05:16 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2021-02-27 14:05:31 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 14:06:05 +0100 <ij> ah, it's actually the kronecker product I'm looking for!\
2021-02-27 14:06:31 +0100 <tomsmeding> ij: you sure it's not traverse?
2021-02-27 14:06:36 +0100 <ij> tomsmeding, haha
2021-02-27 14:06:39 +0100 <ij> it's always traverse
2021-02-27 14:06:46 +0100 <tomsmeding> it's always traverse
2021-02-27 14:07:01 +0100swarmcollective(~joseph@cpe-65-31-18-174.insight.res.rr.com) (Quit: WeeChat 2.8)
2021-02-27 14:07:39 +0100dxld(~dxld@80-109-136-248.cable.dynamic.surfer.at) (Quit: Bye)
2021-02-27 14:08:08 +0100Spidey(51cfc725@81-207-199-37.fixed.kpn.net)
2021-02-27 14:08:47 +0100LKoen(~LKoen@185.61.176.203)
2021-02-27 14:09:26 +0100 <tomsmeding> BigLama: could you double-check for me what the exact type of r2 is in your code?
2021-02-27 14:09:42 +0100 <Spidey> I'm trying to install ghcup on Ubuntu on Windows 10. I'm get compilation errors. Is that known?
2021-02-27 14:10:05 +0100 <maerwald> Spidey: what kind
2021-02-27 14:10:37 +0100 <Spidey> I've just checked that the dependencies are met and cleaned up the temp build folder. It will print the message again, 1 sec.
2021-02-27 14:10:44 +0100 <tomsmeding> BigLama: if you're using an editor with IDE integration you can just check the type that way; if not, you could put the following after line 21 of your paste and read the compiler error: (r2 :: ()) `seq` return ()
2021-02-27 14:11:34 +0100 <tomsmeding> (there are easier/better ways but this one is the easiest to describe I think)
2021-02-27 14:11:34 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 14:11:45 +0100 <Spidey> [ ghc-make ] # on Win64, "install -s" calls a strip that doesn't understand 64bit binaries.
2021-02-27 14:11:46 +0100 <Spidey> [ ghc-make ] "/home/spidey/.ghcup/ghc/8.10.4/lib/ghc-8.10.4/bin/ghc-pkg" --force --global-package-db "/home/spidey...
2021-02-27 14:11:48 +0100 <Spidey> [ ghc-make ] Makefile:51: recipe for target 'install' failed
2021-02-27 14:12:02 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 14:12:14 +0100dftxbs3e(~dftxbs3e@unaffiliated/dftxbs3e) (Quit: Leaving)
2021-02-27 14:12:24 +0100dftxbs3e(~dftxbs3e@unaffiliated/dftxbs3e)
2021-02-27 14:12:49 +0100 <maerwald> Spidey: can you pastebin the whole error? https://paste.tomsmeding.com/
2021-02-27 14:13:22 +0100 <Spidey> https://paste.tomsmeding.com/Ranh3C52
2021-02-27 14:13:40 +0100daffy(01c84f1a@1.200.79.26) (Quit: Connection closed)
2021-02-27 14:13:49 +0100 <Spidey> I may pastebin the whole build log if necessary.
2021-02-27 14:14:13 +0100 <BigLama> tomsmeding: with your method, It says "BsResponse"
2021-02-27 14:14:15 +0100 <Spidey> I'm using the install script from the website: curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
2021-02-27 14:14:47 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2021-02-27 14:14:52 +0100 <maerwald> Spidey: there's stuff cut off in the past
2021-02-27 14:14:56 +0100 <tomsmeding> BigLama: cool, that's what I thought
2021-02-27 14:15:05 +0100 <maerwald> *paste
2021-02-27 14:15:08 +0100emi00(524df5b9@82.77.245.185)
2021-02-27 14:15:08 +0100hrdl(~ef24a0e6@unaffiliated/hrdl) (Quit: leaving)
2021-02-27 14:15:12 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2021-02-27 14:15:25 +0100 <tomsmeding> maerwald: I think they're copying from their terminal, which probably cuts off; is there a log file they can send?
2021-02-27 14:15:34 +0100hrdl(~ef24a0e6@unaffiliated/hrdl)
2021-02-27 14:15:46 +0100 <maerwald> ~/.ghcup/logs
2021-02-27 14:15:52 +0100 <tomsmeding> Spidey: ^
2021-02-27 14:16:50 +0100 <Spidey> https://paste.tomsmeding.com/EtVs82M7
2021-02-27 14:17:33 +0100 <tomsmeding> BigLama: can you try replacing the 'mempty' on the last line of your paste with the following: cookieJar (responseCookieJar (toVanillaResponse r2))
2021-02-27 14:17:50 +0100 <Spidey> Yeah, I was copying from the terminal. I had looked on the log file and couldn't see anything more/before the part printed on the terminal that would
2021-02-27 14:17:51 +0100 <Spidey>  indicate the root cause.
2021-02-27 14:18:21 +0100 <tomsmeding> Spidey: when in doubt, always send more logs, and avoid truncating logs, when asking questions :)
2021-02-27 14:18:39 +0100 <Spidey> Ok, sure.
2021-02-27 14:18:42 +0100 <BigLama> tomsmd
2021-02-27 14:18:57 +0100 <maerwald> ghc-pkg: Couldn't open database /home/spidey/.ghcup/ghc/8.10.4/lib/ghc-8.10.4/package.conf.d for modification: {handle: /home/spidey/.ghcup/ghc/8.10.4/lib/ghc-8.10.4/package.conf.d/package.cache.lock}: hLock: invalid argument (Invalid argument)
2021-02-27 14:19:01 +0100 <maerwald> I haven't seen that before
2021-02-27 14:19:07 +0100 <tomsmeding> maerwald: what do you think of the change (as of this morning) that paste code blocks now scroll horizontally instead of overflowing the page?
2021-02-27 14:19:14 +0100 <BigLama> tomsmeding: Not for the second requestion then ? Only the third ?
2021-02-27 14:19:19 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-27 14:19:34 +0100tomsmedingthinks maybe this should be a mobile-only change
2021-02-27 14:19:39 +0100 <BigLama> (Sorry about the mistakes, the auto-complete got me every time...)
2021-02-27 14:19:54 +0100 <tomsmeding> BigLama: the second does the login, right, and the third should use that login?
2021-02-27 14:19:59 +0100 <tomsmeding> if that's correct, then yes
2021-02-27 14:20:00 +0100 <BigLama> Yes
2021-02-27 14:20:12 +0100 <maerwald> tomsmeding: I think it's fine either way, not sure if a button to force wrapping would be interesting
2021-02-27 14:21:06 +0100zmv-(~zmv@189.79.134.102) (Ping timeout: 256 seconds)
2021-02-27 14:21:10 +0100 <hololeap> % type Foo = Int; type Bar = Int; type Baz t = Int
2021-02-27 14:21:10 +0100 <yahb> hololeap:
2021-02-27 14:21:20 +0100 <tomsmeding> maerwald: that's a decent idea actually
2021-02-27 14:21:23 +0100 <hololeap> % (5 :: Foo) == (5 :: Bar)
2021-02-27 14:21:23 +0100 <yahb> hololeap: True
2021-02-27 14:21:43 +0100 <hololeap> % (5 :: Baz Bool) == (5 :: Baz Float)
2021-02-27 14:21:43 +0100 <yahb> hololeap: True
2021-02-27 14:21:56 +0100sQVe(~sQVe@unaffiliated/sqve) (Ping timeout: 240 seconds)
2021-02-27 14:22:17 +0100 <BigLama> tomsmeding: r3 <- req GET url NoReqBody bsResponse (cookieJar (responseCookieJar (toVanillaResponse r2)))
2021-02-27 14:22:27 +0100 <BigLama> returns the following error :
2021-02-27 14:22:35 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2021-02-27 14:22:51 +0100 <Spidey> I think I found a solution: https://stackoverflow.com/a/66191627
2021-02-27 14:22:51 +0100 <BigLama> https://paste.tomsmeding.com/Z25MC3Vn
2021-02-27 14:23:26 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
2021-02-27 14:25:11 +0100 <tomsmeding> BigLama: oh wait remove that toVanillaResponse
2021-02-27 14:25:20 +0100 <tomsmeding> just 'cookieJar (responseCookieJar r2)'
2021-02-27 14:25:45 +0100tomsmedingis too lazy to compile req myself
2021-02-27 14:25:55 +0100 <maerwald> Spidey: WSL 1?
2021-02-27 14:26:03 +0100 <Spidey> Yes.
2021-02-27 14:26:07 +0100 <maerwald> Use WSL 2
2021-02-27 14:26:27 +0100 <Spidey> I don't use it too frequently, I think I install Ubuntu a while ago and never upgraded.
2021-02-27 14:26:44 +0100 <maerwald> it seems it's a known limitation on WSL1
2021-02-27 14:26:48 +0100xff0x(~xff0x@2001:1a81:5311:f400:99b1:a451:602d:e252) (Ping timeout: 246 seconds)
2021-02-27 14:27:02 +0100 <BigLama> tomsmeding: it compiles but it still asks for authentification the second time. Maybe I should set "keep-alive" in the headers ?
2021-02-27 14:27:12 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 14:27:16 +0100 <tomsmeding> BigLama: "asks for authentication"?
2021-02-27 14:27:19 +0100 <BigLama> In python, I can examine the headers but I don't know how to it in Haskell...
2021-02-27 14:27:24 +0100 <tomsmeding> what service are you connecting to
2021-02-27 14:27:28 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 14:27:49 +0100 <Spidey> Thanks. Gotta reboot to test it.
2021-02-27 14:27:54 +0100Spidey(51cfc725@81-207-199-37.fixed.kpn.net) (Quit: Connection closed)
2021-02-27 14:27:57 +0100xff0x(~xff0x@2001:1a81:5311:f400:8291:22ac:ed1e:10e3)
2021-02-27 14:28:30 +0100 <BigLama> tomsmeding: the url is a private login page (for my university). Once you are logged in, you should not see the login page again. But the third request redirects to the login page...
2021-02-27 14:28:43 +0100 <tomsmeding> I see
2021-02-27 14:28:58 +0100 <tomsmeding> you can use responseHeader to get a single header, but unsure how to get all of them
2021-02-27 14:29:33 +0100 <tomsmeding> oh perhaps: responseHeaders (toVanillaResponse r3)
2021-02-27 14:30:40 +0100theelous3(~theelous3@unaffiliated/theelous3)
2021-02-27 14:30:53 +0100 <tomsmeding> BigLama: can you perhaps print the value returned by 'responseCookieJar r2'?
2021-02-27 14:31:12 +0100 <tomsmeding> and look in your web browser what cookies are set by the website after login
2021-02-27 14:31:28 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1)
2021-02-27 14:31:32 +0100 <tomsmeding> I have to go unfortunately, good luck :)
2021-02-27 14:31:51 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-02-27 14:31:52 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 14:31:53 +0100 <BigLama> tomsmeding: thanks for the help !
2021-02-27 14:32:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Ping timeout: 264 seconds)
2021-02-27 14:32:54 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 14:38:21 +0100son0p(~son0p@181.136.122.143)
2021-02-27 14:38:43 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-kykpxwvfcawrxiyd)
2021-02-27 14:38:43 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 14:39:46 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 14:40:49 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-02-27 14:43:03 +0100drbean_(~drbean@TC210-63-209-94.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-02-27 14:48:49 +0100Spidey(51cfc725@81-207-199-37.fixed.kpn.net)
2021-02-27 14:49:36 +0100 <Spidey> Wow, just wow. WSL2 with virtualization instructions support is absurdly faster, the IO is greatly improved. And now installation worked.
2021-02-27 14:49:50 +0100 <Spidey> Just wanted to tip the hat to you guys for the attention and help.
2021-02-27 14:50:11 +0100 <maerwald> o/
2021-02-27 14:50:22 +0100sh9(~sh9@softbank060116136158.bbtec.net) (Ping timeout: 260 seconds)
2021-02-27 14:50:28 +0100Spidey(51cfc725@81-207-199-37.fixed.kpn.net) (Client Quit)
2021-02-27 14:50:40 +0100 <maerwald> should consider switching to windows and using WSL for deving
2021-02-27 14:52:03 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 14:52:10 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-27 14:52:44 +0100Tario(~Tario@201.192.165.173)
2021-02-27 14:53:01 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 14:54:21 +0100hackagefbrnch 0.7.2 - Build and create Fedora package repos and branches https://hackage.haskell.org/package/fbrnch-0.7.2 (JensPetersen)
2021-02-27 14:57:39 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-ppogqhnucstulgdr)
2021-02-27 14:58:39 +0100mjevans-(~mjevans-@185.163.110.108)
2021-02-27 14:58:47 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 14:59:32 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 15:03:27 +0100 <Franciman> maerwald, and giving in to propertary software?
2021-02-27 15:04:16 +0100 <maerwald> idc when linux is unable to set my laptop to sleep, wakes it up while lid is closed and causes cpu overheating (it did)
2021-02-27 15:04:56 +0100 <Franciman> sad :<
2021-02-27 15:08:11 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-bfiroajaabomwjor)
2021-02-27 15:08:13 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 15:08:35 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 15:09:08 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-02-27 15:10:45 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2021-02-27 15:12:12 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 15:12:21 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 15:12:34 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 15:13:02 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 15:14:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 15:15:11 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 15:15:32 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 15:15:56 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2021-02-27 15:16:14 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 15:16:17 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ace8:9f2e:8b98:ae8a)
2021-02-27 15:16:36 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 15:17:11 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 15:17:33 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 15:18:12 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 15:18:35 +0100GZJ0X__(~gzj@unaffiliated/gzj)
2021-02-27 15:18:38 +0100_vaibhavingale_(~Adium@203.188.228.9) (Quit: Leaving.)
2021-02-27 15:18:59 +0100 <hololeap> i haven't had a laptop be that incompatible with linux in years, but i remember having to mess with some weird acpi-related firmware in the past
2021-02-27 15:19:10 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ace8:9f2e:8b98:ae8a) (Client Quit)
2021-02-27 15:19:13 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 15:19:18 +0100 <maerwald> thinkpad are incompatible since the dawn of time
2021-02-27 15:19:29 +0100 <maerwald> multi-monitor with different DPI is also crap on linux
2021-02-27 15:19:43 +0100LKoen(~LKoen@185.61.176.203) (Remote host closed the connection)
2021-02-27 15:20:01 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 15:20:13 +0100GZJ0X__(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-02-27 15:20:17 +0100hiroaki_(~hiroaki@2a02:908:4b18:8c40:1704:72f0:b8b1:4ff4)
2021-02-27 15:20:40 +0100TimWolla(~timwolla@chrono.xqk7.com) (Quit: Bye)
2021-02-27 15:21:47 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr)
2021-02-27 15:21:57 +0100 <hololeap> maerwald: that's too bad. even with wayland?
2021-02-27 15:22:18 +0100 <maerwald> wayland isn't even an option
2021-02-27 15:22:49 +0100 <Chousuke> What kind of hardware do you have that it isn't? Works fine for me :P
2021-02-27 15:23:05 +0100 <maerwald> Chousuke: wayland doesn't support my graphics card?
2021-02-27 15:23:12 +0100 <Chousuke> nvidia?
2021-02-27 15:23:26 +0100 <maerwald> see, all those problems don't exist on windows
2021-02-27 15:23:40 +0100 <maerwald> and with WSL2, haskell deving makes sense
2021-02-27 15:23:52 +0100 <Chousuke> Instead, you get to deal with all the problems that do exist on Windows :)
2021-02-27 15:24:06 +0100 <maerwald> at least my hardware works
2021-02-27 15:24:12 +0100 <jackdk> True, but you will forever be uninstalling Bubble Witch 3 Saga, Clash of Empires: War of Lords, Cortana, Edge, telemetry, ...
2021-02-27 15:24:12 +0100 <Chousuke> but if your hardware happens to be particularly incompatible with Linux, there's not much you can do.
2021-02-27 15:24:46 +0100 <jackdk> It is absolutely appalling that people have to choose between being abused by their OS and hardware support.
2021-02-27 15:25:08 +0100 <Chousuke> I bought my machine with very deliberate choices for good Linux support, and it works.
2021-02-27 15:25:12 +0100 <hololeap> jackdk: have you tried this? https://github.com/Wohlstand/Destroy-Windows-10-Spying
2021-02-27 15:25:57 +0100 <Chousuke> basically, stay far away from nvidia and buy bog-standard stuff that isn't quite bleeding edge, and things generally work out fine :P
2021-02-27 15:26:32 +0100 <hololeap> there was also this: https://github.com/Sycnex/Windows10Debloater
2021-02-27 15:26:58 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5561:62ee:ba22:2677)
2021-02-27 15:27:13 +0100 <hololeap> i barely use windows and i haven't tested to see if these get deactivated at some point, but they at least gave "success" messages when i ran them :)
2021-02-27 15:27:34 +0100TimWolla(~timwolla@2a01:4f8:150:6153:beef::6667)
2021-02-27 15:27:44 +0100 <mouseghost> task failed successfuly
2021-02-27 15:29:01 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 15:29:38 +0100 <Chousuke> And with laptops I guess if you buy the cheapest stuff you can be quite certain that the manufacturer has barely bothered to make it work with Windows, never mind testing at all on other platforms. :/
2021-02-27 15:30:47 +0100 <Chousuke> higher-end stuff may work better.
2021-02-27 15:31:20 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-02-27 15:31:46 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-02-27 15:32:25 +0100 <hololeap> i got my 10-year-old HP ProBook for $115 and it's great. It actually comes with VGA and ethernet ports built in :)
2021-02-27 15:32:42 +0100 <Chousuke> the only laptop I have is an older HP Elitebook and it works without issues out-of-the-box with Fedora, so I can't really say how common it is for laptops to have such issues with Linux.
2021-02-27 15:33:15 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-27 15:33:18 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-27 15:33:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Ping timeout: 264 seconds)
2021-02-27 15:34:28 +0100 <geekosaur> I'm currently using a (used) thinkpad x220 for which I specifically checked for linux support before buying
2021-02-27 15:35:06 +0100 <geekosaur> before that I had an hp envy which had various hardware issues in any OS (the model I had turned out to be somewhat infamous) but what did work worked fine in linux as well as windows
2021-02-27 15:36:12 +0100 <geekosaur> the only thing not working on either machine is the fingerprint sensor
2021-02-27 15:36:51 +0100carlomagno(~cararell@148.87.23.6)
2021-02-27 15:37:21 +0100hackagehextream 0.3.0.0 - Streaming-friendly XML parsers https://hackage.haskell.org/package/hextream-0.3.0.0 (koral)
2021-02-27 15:39:20 +0100 <Chousuke> It's not guaranteed that things always work on Windows, either :P My work laptop is a newer HP and for a time I was prevented from upgrading to a newer release of Windows 10 because of a known driver bug that would render the machine unbootable if upgraded.
2021-02-27 15:41:05 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:2494:eb54:ea13:73ca)
2021-02-27 15:41:12 +0100albert_42(~albert_42@2a02:8108:1100:16d8:148b:5e15:b9c8:a370)
2021-02-27 15:41:53 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 15:46:10 +0100HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
2021-02-27 15:48:01 +0100son0p(~son0p@181.136.122.143) (Ping timeout: 276 seconds)
2021-02-27 15:49:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-02-27 15:49:10 +0100LKoen(~LKoen@185.61.176.203)
2021-02-27 15:49:16 +0100son0p(~son0p@181.136.122.143)
2021-02-27 15:53:17 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 15:53:37 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 15:54:48 +0100aveltras(uid364989@gateway/web/irccloud.com/x-nbzxxnjcuwzfkarj)
2021-02-27 15:55:24 +0100geekosaur(ac3a8f5e@172.58.143.94) (Quit: Connection closed)
2021-02-27 16:00:04 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 16:00:13 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 16:00:57 +0100slack1256(~slack1256@45.4.2.52)
2021-02-27 16:06:32 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-02-27 16:06:50 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 16:07:13 +0100basoares(~basoares@2a04:ee41:4:2178:ed37:7464:5079:3088) (Ping timeout: 272 seconds)
2021-02-27 16:07:19 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 16:11:52 +0100hackagehkgr 0.2.7 - Simple Hackage release workflow for package maintainers https://hackage.haskell.org/package/hkgr-0.2.7 (JensPetersen)
2021-02-27 16:12:36 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-27 16:14:42 +0100gehmehgeh_(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-02-27 16:15:37 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds)
2021-02-27 16:16:10 +0100ekleog_(~ii@grym.ekleog.org) (Quit: WeeChat 2.9)
2021-02-27 16:17:01 +0100ekleog(~ii@prologin/ekleog)
2021-02-27 16:18:47 +0100zmv-(~zmv@189.79.134.102)
2021-02-27 16:20:26 +0100xff0x(~xff0x@2001:1a81:5311:f400:8291:22ac:ed1e:10e3) (Ping timeout: 264 seconds)
2021-02-27 16:20:26 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 16:20:55 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 16:20:57 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 264 seconds)
2021-02-27 16:21:09 +0100xff0x(~xff0x@2001:1a81:5311:f400:3a91:83a8:1897:4aa2)
2021-02-27 16:22:23 +0100darjeeling_(~darjeelin@122.245.218.150) (Ping timeout: 256 seconds)
2021-02-27 16:26:48 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-02-27 16:27:07 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 16:27:30 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 16:28:15 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 265 seconds)
2021-02-27 16:28:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-27 16:29:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 16:34:25 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net)
2021-02-27 16:34:25 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-02-27 16:34:25 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-02-27 16:34:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Ping timeout: 264 seconds)
2021-02-27 16:35:01 +0100Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
2021-02-27 16:35:21 +0100Rudd0(~Rudd0@185.189.115.108)
2021-02-27 16:36:45 +0100urodna(~urodna@unaffiliated/urodna)
2021-02-27 16:38:15 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Ping timeout: 272 seconds)
2021-02-27 16:38:29 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-27 16:38:37 +0100usr25(~usr25@unaffiliated/usr25)
2021-02-27 16:39:22 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2021-02-27 16:39:34 +0100Tario(~Tario@201.192.165.173)
2021-02-27 16:40:57 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 16:41:07 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 16:42:12 +0100darjeeling_(~darjeelin@122.245.218.150)
2021-02-27 16:43:16 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
2021-02-27 16:44:57 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-27 16:44:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-27 16:45:04 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-02-27 16:45:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 16:47:29 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 16:47:48 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 16:47:49 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 16:52:00 +0100LKoen(~LKoen@185.61.176.203) (Remote host closed the connection)
2021-02-27 16:53:01 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds)
2021-02-27 16:53:09 +0100mawk(mawk@serveur.io)
2021-02-27 16:53:51 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-02-27 16:55:07 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-02-27 16:55:11 +0100slack1256(~slack1256@45.4.2.52) (Ping timeout: 256 seconds)
2021-02-27 16:55:14 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-27 16:56:20 +0100cartwright(~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 268 seconds)
2021-02-27 16:57:53 +0100int80h(uid148779@gateway/web/irccloud.com/x-yapefbeohzqydcto) (Quit: Connection closed for inactivity)
2021-02-27 16:59:42 +0100cartwright(~chatting@gateway/tor-sasl/cantstanya)
2021-02-27 17:03:02 +0100bitmagie(~Thunderbi@200116b8069d920024758e6b0c3524c9.dip.versatel-1u1.de)
2021-02-27 17:03:08 +0100jophish(~jophish@2400:8901::f03c:91ff:fe39:7a9)
2021-02-27 17:03:08 +0100jophish(~jophish@2400:8901::f03c:91ff:fe39:7a9) (Client Quit)
2021-02-27 17:03:45 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-02-27 17:07:12 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5561:62ee:ba22:2677) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 17:07:48 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 17:08:36 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 17:08:36 +0100troydm(~troydm@unaffiliated/troydm) (Ping timeout: 240 seconds)
2021-02-27 17:09:16 +0100bitmagie(~Thunderbi@200116b8069d920024758e6b0c3524c9.dip.versatel-1u1.de) (Quit: bitmagie)
2021-02-27 17:13:02 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5561:62ee:ba22:2677)
2021-02-27 17:14:48 +0100Wamanuz(~wamanuz@78-70-34-81-no84.tbcn.telia.com)
2021-02-27 17:14:48 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 17:15:23 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 17:15:50 +0100basoares(~basoares@2a04:ee41:4:2178:888c:4f28:a48f:16bd)
2021-02-27 17:16:36 +0100forgottenone(~forgotten@176.42.27.254) (Ping timeout: 240 seconds)
2021-02-27 17:16:58 +0100ixlun(~user@109.249.184.227)
2021-02-27 17:20:41 +0100 <ixlun> Hi all, does anyone know how I could map a function over the second element of a list of tuples?
2021-02-27 17:21:12 +0100bitmagie(~Thunderbi@200116b8069d920024758e6b0c3524c9.dip.versatel-1u1.de)
2021-02-27 17:21:22 +0100 <Rembane> ixlun: second is a function that lets you do that
2021-02-27 17:21:22 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer)
2021-02-27 17:21:23 +0100 <monochrom> map (\(x,y) -> (x, f y))
2021-02-27 17:21:24 +0100 <Rembane> :t second
2021-02-27 17:21:25 +0100 <lambdabot> Arrow a => a b c -> a (d, b) (d, c)
2021-02-27 17:21:45 +0100 <Rembane> That's not the type signature I had in mind...
2021-02-27 17:22:07 +0100 <monochrom> :)
2021-02-27 17:22:09 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com)
2021-02-27 17:22:19 +0100 <monochrom> Set a=(->) and you're alright.
2021-02-27 17:22:34 +0100 <dolio> Does second element mean second element of the list, or second value in every tuple?
2021-02-27 17:23:01 +0100 <ixlun> second element of every tuple
2021-02-27 17:23:11 +0100 <ixlun> say, [("a", 1), ("b", 2)] and then map ((+) 1), so that [("a", 2), ("b", 3)]
2021-02-27 17:23:55 +0100 <dolio> > (fmap.fmap) (+1) [("a",1),("b",2),("c",3)]
2021-02-27 17:23:57 +0100 <lambdabot> [("a",2),("b",3),("c",4)]
2021-02-27 17:24:37 +0100 <ixlun> whoa,
2021-02-27 17:24:45 +0100emmanuel_erc(~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) ()
2021-02-27 17:24:56 +0100 <ixlun> Looks like I need to study (fmap . fmap)
2021-02-27 17:25:10 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 17:25:59 +0100 <monochrom> The 1st fmap is list's map. The 2nd fmap is "instance Functor ((,) a) where you apply f to the second element"
2021-02-27 17:26:42 +0100 <monochrom> You can insert one more fmap there.
2021-02-27 17:27:22 +0100 <jacks2> > (fmap fmap fmap) (+1) [("a",1),("b",2),("c",3)]
2021-02-27 17:27:23 +0100bitmagie(~Thunderbi@200116b8069d920024758e6b0c3524c9.dip.versatel-1u1.de) (Quit: bitmagie)
2021-02-27 17:27:23 +0100 <lambdabot> [("a",2),("b",3),("c",4)]
2021-02-27 17:27:27 +0100 <monochrom> Since (.) is "instance Functor ((->) e) where fmap = (.)", fmap . fmap = fmap `fmap` fmap = fmap fmap fmap
2021-02-27 17:28:32 +0100 <monochrom> https://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffalo_buffalo_buffalo_Buffalo_buffalo
2021-02-27 17:29:04 +0100 <tomsmeding> > map (fmap (+1)) [("a",1), ("b",2), ("c",3)] -- ixlun
2021-02-27 17:29:06 +0100 <lambdabot> [("a",2),("b",3),("c",4)]
2021-02-27 17:29:17 +0100 <ixlun> Hm, interesting, what is the rationale behind instance Functor (,) applying f to the second element of the tuple?
2021-02-27 17:29:53 +0100 <tomsmeding> > :t fmap :: (a -> b) -> (z,a) -> (z,b)
2021-02-27 17:29:55 +0100 <lambdabot> <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘:’
2021-02-27 17:29:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2021-02-27 17:29:59 +0100 <tomsmeding> % :t fmap :: (a -> b) -> (z,a) -> (z,b)
2021-02-27 17:29:59 +0100 <yahb> tomsmeding: (a -> b) -> (z, a) -> (z, b)
2021-02-27 17:30:14 +0100 <tomsmeding> % :i Functor
2021-02-27 17:30:15 +0100 <yahb> tomsmeding: type Functor :: (* -> *) -> Constraint; class Functor f where; fmap :: (a -> b) -> f a -> f b; (<$) :: a -> f b -> f a; {-# MINIMAL fmap #-}; -- Defined in `GHC.Base'; instance [safe] Functor m => Functor (WriterT w m) -- Defined in `Control.Monad.Trans.Writer.Lazy'; instance [safe] Functor m => Functor (StateT s m) -- Defined in `Control.Monad.Trans.State.Lazy'; instance [safe] Functor m => Func
2021-02-27 17:30:15 +0100 <monochrom> The type leaves you no choice, as shown.
2021-02-27 17:30:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 17:30:33 +0100 <tomsmeding> f a -> f b, where f a should be (x,y)
2021-02-27 17:31:01 +0100 <tomsmeding> the thing you're mapping over is necessarily the last type parameter of the data type, which in the case of (,) is the second argument
2021-02-27 17:31:38 +0100 <tomsmeding> (note that (x,y) is the same as (,) x y)
2021-02-27 17:31:48 +0100kam1(~kam1@5.125.126.175)
2021-02-27 17:32:10 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-27 17:32:13 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 260 seconds)
2021-02-27 17:32:33 +0100 <ixlun> Right, I think I get it.
2021-02-27 17:32:35 +0100[1]MrMobius(~MrMobius@208.58.206.154) (Ping timeout: 256 seconds)
2021-02-27 17:32:51 +0100hackagemonad-parallel 0.7.2.4 - Parallel execution of monadic computations https://hackage.haskell.org/package/monad-parallel-0.7.2.4 (MarioBlazevic)
2021-02-27 17:33:35 +0100 <ixlun> Ah, just found it.. https://hackage.haskell.org/package/base-4.14.1.0/docs/src/GHC.Base.html#line-983
2021-02-27 17:34:17 +0100 <tomsmeding> and it's the only possible type-checking implementation, if you don't count undefined or nontermination
2021-02-27 17:34:34 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5561:62ee:ba22:2677) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 17:34:56 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Ping timeout: 240 seconds)
2021-02-27 17:35:37 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-02-27 17:35:59 +0100troydm(~troydm@unaffiliated/troydm)
2021-02-27 17:37:45 +0100dyeplexer(~lol@unaffiliated/terpin)
2021-02-27 17:39:28 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-02-27 17:41:27 +0100 <c_wraith> tomsmeding: not *quite* true. there are two possible implementations with different strictness
2021-02-27 17:41:55 +0100 <tomsmeding> and again you catch me worrying too little about laziness
2021-02-27 17:41:58 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-02-27 17:42:13 +0100 <c_wraith> actually, I guess there are three, if you do something terrifying and use seq
2021-02-27 17:42:52 +0100 <tomsmeding> but then there are eight possible implementations, right? there are three different values (x, y and f y), and each can be either forced or not
2021-02-27 17:43:18 +0100 <tomsmeding> oh and you can also force the input tuple or not, so that makes 16
2021-02-27 17:43:46 +0100 <tomsmeding> I suspect you only counted forcing the input tuple or not?
2021-02-27 17:43:49 +0100 <c_wraith> you can't force x or y without forcing the tuple
2021-02-27 17:43:49 +0100kupi(uid212005@gateway/web/irccloud.com/x-vvucditfymkrygow)
2021-02-27 17:43:56 +0100albert_42(~albert_42@2a02:8108:1100:16d8:148b:5e15:b9c8:a370) ()
2021-02-27 17:43:58 +0100 <c_wraith> so those aren't independent
2021-02-27 17:43:59 +0100 <tomsmeding> oh true
2021-02-27 17:44:23 +0100 <tomsmeding> 8 + 1 = 9 then
2021-02-27 17:44:26 +0100 <c_wraith> but let's not count things using seq. I mostly just meant matching the input with a ! or not
2021-02-27 17:44:33 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-02-27 17:44:36 +0100 <c_wraith> err, with a ~ or not
2021-02-27 17:44:37 +0100ixlun(~user@109.249.184.227) (Read error: Connection reset by peer)
2021-02-27 17:44:52 +0100 <tomsmeding> (or bang patterns)
2021-02-27 17:45:06 +0100 <tomsmeding> but yes the "~ or not" is the most reasonable choice
2021-02-27 17:46:04 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 17:46:08 +0100 <tomsmeding> s/most/only/
2021-02-27 17:47:11 +0100ixlun(~user@213.205.241.177)
2021-02-27 17:49:00 +0100 <monochrom> You might not like how "fmap id ⊥ = (⊥, ⊥) ≠ id ⊥"
2021-02-27 17:49:00 +0100ixlun(~user@213.205.241.177) (Read error: Connection reset by peer)
2021-02-27 17:50:30 +0100ixlun(~user@213.205.241.177)
2021-02-27 17:51:27 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-02-27 17:54:07 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 17:55:36 +0100ixlun`(~user@213.205.241.43)
2021-02-27 17:55:50 +0100basoares(~basoares@2a04:ee41:4:2178:888c:4f28:a48f:16bd) (Quit: Leaving)
2021-02-27 17:56:05 +0100 <tomsmeding> > length (fmap id (undefined, undefined) :: (Int, Bool))
2021-02-27 17:56:06 +0100 <lambdabot> 1
2021-02-27 17:56:07 +0100lassulus(~lassulus@NixOS/user/lassulus) (Ping timeout: 260 seconds)
2021-02-27 17:56:11 +0100 <tomsmeding> > length (fmap id undefined :: (Int, Bool))
2021-02-27 17:56:13 +0100 <lambdabot> 1
2021-02-27 17:56:21 +0100 <tomsmeding> wut lambdabot does not agree with my ghci
2021-02-27 17:56:24 +0100conal(~conal@64.71.133.70)
2021-02-27 17:57:00 +0100 <tomsmeding> % length (fmap id undefined :: (Int, Bool))
2021-02-27 17:57:00 +0100 <yahb> tomsmeding: 1
2021-02-27 17:57:09 +0100tomsmedingis confused
2021-02-27 17:57:30 +0100 <tomsmeding> my ghci throws undefined on that input
2021-02-27 17:57:35 +0100 <tomsmeding> % :q
2021-02-27 17:57:35 +0100 <yahb> tomsmeding:
2021-02-27 17:57:38 +0100 <tomsmeding> % length (fmap id undefined :: (Int, Bool))
2021-02-27 17:57:40 +0100 <yahb> tomsmeding: 1
2021-02-27 17:57:40 +0100ixlun(~user@213.205.241.177) (Ping timeout: 265 seconds)
2021-02-27 17:57:47 +0100 <tomsmeding> ¯\_(ツ)_/¯
2021-02-27 17:58:55 +0100 <tomsmeding> this did not change between 8.8.4 and whatever yahb uses, did it?
2021-02-27 18:00:58 +0100 <monochrom> Hrm what does yahb use???!!!! Heh
2021-02-27 18:01:18 +0100 <dmwit> Yes, it changed very recently. Compare base-4.13 and base-4.14:
2021-02-27 18:01:24 +0100 <dmwit> http://hackage.haskell.org/package/base-4.13.0.0/docs/src/Data.Foldable.html#line-363
2021-02-27 18:01:30 +0100 <dmwit> http://hackage.haskell.org/package/base-4.14.0.0/docs/src/Data.Foldable.html#line-363
2021-02-27 18:01:47 +0100 <tomsmeding> OH length CHANGED
2021-02-27 18:01:53 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-02-27 18:02:03 +0100 <dmwit> IDK why `length` and `null` were special-cased. You would think they would go all the way and `foldMap f ~(_, y) = f y`.
2021-02-27 18:02:09 +0100tomsmedingthought to have found a good way to check whether a tuple is evaluated or not
2021-02-27 18:02:29 +0100 <dmwit> Does... does seq not work for some reason?
2021-02-27 18:02:49 +0100 <tomsmeding> it does
2021-02-27 18:03:06 +0100 <tomsmeding> % (fmap id (undefined, undefined) :: (Int, Bool)) `seq` ()
2021-02-27 18:03:06 +0100 <yahb> tomsmeding: ()
2021-02-27 18:03:12 +0100 <tomsmeding> % (fmap id undefined :: (Int, Bool)) `seq` ()
2021-02-27 18:03:13 +0100 <yahb> tomsmeding: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:3:10 in interactive:Ghci6
2021-02-27 18:03:18 +0100 <tomsmeding> there we go
2021-02-27 18:03:20 +0100 <dmwit> why so complicated
2021-02-27 18:03:25 +0100 <dmwit> > (undefined, undefined) `seq` ()
2021-02-27 18:03:25 +0100ixlun`(~user@213.205.241.43) (Read error: Connection reset by peer)
2021-02-27 18:03:27 +0100 <lambdabot> ()
2021-02-27 18:03:55 +0100 <tomsmeding> monochrom: fmap id ⊥ = ⊥ ≠ (⊥, ⊥)
2021-02-27 18:04:16 +0100 <dmwit> So? We also have ⊥ = ⊥ ≠ (⊥, ⊥)
2021-02-27 18:04:19 +0100 <monochrom> Oh, I mean if you go "fmap f ~(x,y) = (x, f y)"
2021-02-27 18:04:39 +0100 <jacks2> > [undefined] `seq` ()
2021-02-27 18:04:41 +0100 <lambdabot> ()
2021-02-27 18:04:48 +0100 <tomsmeding> oh right, you meant "you might not like X if you'd use a lazy pattern-match"
2021-02-27 18:05:29 +0100 <tomsmeding> I'm not sure I've yet had a case where that would've tripped me up
2021-02-27 18:05:31 +0100 <dmwit> ohhh, that explains why not `foldMap f ~(_, y) = f y`, too, then.
2021-02-27 18:05:42 +0100ixlun`(~user@213.205.241.43)
2021-02-27 18:05:45 +0100 <dmwit> Wait, no it doesn't.
2021-02-27 18:06:14 +0100 <dmwit> Yeah, I don't know why they didn't do that.
2021-02-27 18:06:20 +0100 <tomsmeding> dmwit: I was trying to prove monochrom wrong, but they never claimed to have described the real state of things
2021-02-27 18:06:32 +0100 <dmwit> ah ^_^
2021-02-27 18:07:09 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42)
2021-02-27 18:07:20 +0100clog(~nef@bespin.org) (Ping timeout: 265 seconds)
2021-02-27 18:07:49 +0100 <tomsmeding> though I personally find `foldMap f p = f (snd p)`, or perhaps `foldMap f = f . snd`, easier to read than `foldMap f ~(_, y) = f y`
2021-02-27 18:08:02 +0100 <dmwit> Sure, why not.
2021-02-27 18:08:10 +0100 <tomsmeding> but that's bike-shedding
2021-02-27 18:08:27 +0100 <c_wraith> that's just saying there's value in writing functions :)
2021-02-27 18:08:30 +0100zmv-(~zmv@189.79.134.102) (Ping timeout: 246 seconds)
2021-02-27 18:08:31 +0100 <dmwit> foldMap f p = f y where (_, y) = p
2021-02-27 18:08:56 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 18:09:47 +0100 <tomsmeding> that's also the lazy variant, right?
2021-02-27 18:09:53 +0100 <c_wraith> yes
2021-02-27 18:10:04 +0100zmv-(~zmv@189.79.134.102)
2021-02-27 18:11:19 +0100 <dmwit> The fact that you have to ask suggests it may not be as readable as I was hoping. ^_^
2021-02-27 18:11:48 +0100ixlun``(~user@213.205.241.113)
2021-02-27 18:13:45 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
2021-02-27 18:14:12 +0100toorevitimirp(~tooreviti@117.182.182.60)
2021-02-27 18:14:16 +0100ixlun`(~user@213.205.241.43) (Ping timeout: 276 seconds)
2021-02-27 18:15:41 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 18:16:53 +0100ixlun```(~user@213.205.241.227)
2021-02-27 18:17:35 +0100yangby(~secret@125.120.165.139)
2021-02-27 18:18:34 +0100flocks(~user@2a01cb04044b57005aa023fffe35c956.ipv6.abo.wanadoo.fr)
2021-02-27 18:18:36 +0100ixlun``(~user@213.205.241.113) (Ping timeout: 240 seconds)
2021-02-27 18:18:37 +0100redmp(~redmp@172.58.35.77)
2021-02-27 18:19:05 +0100flocks(~user@2a01cb04044b57005aa023fffe35c956.ipv6.abo.wanadoo.fr) ()
2021-02-27 18:21:34 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-27 18:21:53 +0100anon1891[m](anon1891ma@gateway/shell/matrix.org/x-vgmfrgdeedfuosds)
2021-02-27 18:21:59 +0100ixlun````(~user@109.249.184.198)
2021-02-27 18:22:27 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 18:23:43 +0100yangby(~secret@125.120.165.139) (Quit: Go out for a walk and buy a drink.)
2021-02-27 18:24:09 +0100ixlun```(~user@213.205.241.227) (Ping timeout: 256 seconds)
2021-02-27 18:24:17 +0100aveltras(uid364989@gateway/web/irccloud.com/x-nbzxxnjcuwzfkarj) (Quit: Connection closed for inactivity)
2021-02-27 18:24:35 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 18:25:45 +0100conal(~conal@64.71.133.70) (Ping timeout: 264 seconds)
2021-02-27 18:27:46 +0100errst(~errst@unaffiliated/tirej)
2021-02-27 18:28:09 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-02-27 18:28:22 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 18:28:24 +0100conal(~conal@208.91.109.22)
2021-02-27 18:29:30 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-27 18:29:55 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 18:30:03 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 18:30:16 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-02-27 18:30:52 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 18:32:12 +0100dxld(~dxld@rush.pub.dxld.at)
2021-02-27 18:32:15 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-02-27 18:34:54 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-02-27 18:35:03 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-02-27 18:35:29 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 258 seconds)
2021-02-27 18:37:26 +0100jrqc(~rofl@96.78.87.197) (Ping timeout: 272 seconds)
2021-02-27 18:37:53 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-02-27 18:38:39 +0100zmv-notzmv
2021-02-27 18:38:51 +0100notzmv(~zmv@189.79.134.102) (Changing host)
2021-02-27 18:38:51 +0100notzmv(~zmv@unaffiliated/zmv)
2021-02-27 18:38:52 +0100 <kupi> in the haskell community which is more widely used? >>> from Data.Function or .> from the flow package?
2021-02-27 18:39:39 +0100jrqc(~rofl@96.78.87.197)
2021-02-27 18:41:24 +0100errst(~errst@unaffiliated/tirej) (Ping timeout: 246 seconds)
2021-02-27 18:41:34 +0100forgottenone(~forgotten@176.42.27.254)
2021-02-27 18:41:43 +0100 <dolio> I doubt either is widely used.
2021-02-27 18:42:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 18:42:33 +0100 <dolio> If I had to guess, I'd say the one in base is more used.
2021-02-27 18:46:03 +0100average(uid473595@gateway/web/irccloud.com/x-ojfayrlpvuxvtkja) (Quit: Connection closed for inactivity)
2021-02-27 18:48:43 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
2021-02-27 18:50:42 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 18:51:59 +0100redmp(~redmp@172.58.35.77) (Ping timeout: 256 seconds)
2021-02-27 18:52:56 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds)
2021-02-27 18:53:48 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-27 18:54:33 +0100ixlun````(~user@109.249.184.198) (Ping timeout: 264 seconds)
2021-02-27 18:56:25 +0100Wuzzy(~Wuzzy@p5790eecb.dip0.t-ipconnect.de)
2021-02-27 18:56:38 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 18:58:36 +0100 <tomsmeding> :t (&)
2021-02-27 18:58:37 +0100 <lambdabot> a -> (a -> b) -> b
2021-02-27 18:59:16 +0100 <tomsmeding> kupi: >>> is not in Data.Function, perhaps you meant a different package?
2021-02-27 18:59:58 +0100 <c_wraith> it's in Control.Arrow
2021-02-27 19:00:21 +0100 <c_wraith> the instance for (->) is flip (.)
2021-02-27 19:00:43 +0100 <kupi> tomsmeding: you are right
2021-02-27 19:00:55 +0100 <kupi> & is not the same as >>>
2021-02-27 19:01:00 +0100 <tomsmeding> ah c_wraith
2021-02-27 19:01:05 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 19:01:25 +0100 <tomsmeding> flip (.), I see
2021-02-27 19:01:29 +0100 <kupi> yup
2021-02-27 19:01:41 +0100 <kupi> more general than that, but for functions it does that
2021-02-27 19:04:10 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-02-27 19:06:31 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 19:07:55 +0100 <[exa]> kupi: where did you get Data.Function that contains >>> ?
2021-02-27 19:08:13 +0100 <[exa]> (maybe I should upgrade ghc)
2021-02-27 19:08:19 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-02-27 19:08:45 +0100soft-warm(44695313@ip68-105-83-19.sd.sd.cox.net)
2021-02-27 19:08:45 +0100 <[exa]> (also I should read faster it seems.)
2021-02-27 19:09:17 +0100 <kupi> [exa]: my dumb head, I was thinking about Control.Arrow >>>
2021-02-27 19:10:38 +0100 <[exa]> anyway afaik the widest usage of these (specialized to function) is with lens-ish code, but there everyone seems to use (&)
2021-02-27 19:11:40 +0100 <[exa]> >>> is too overloaded and .> has multiple semantics across hackage
2021-02-27 19:11:51 +0100 <[exa]> s/overloaded/polymorphic/
2021-02-27 19:12:33 +0100xff0x(~xff0x@2001:1a81:5311:f400:3a91:83a8:1897:4aa2) (Ping timeout: 260 seconds)
2021-02-27 19:13:23 +0100xff0x(~xff0x@2001:1a81:5311:f400:9a7d:6852:57d4:8353)
2021-02-27 19:14:38 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-02-27 19:14:56 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 19:14:57 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 19:15:02 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 19:16:38 +0100usr25(~usr25@unaffiliated/usr25) (Read error: Connection reset by peer)
2021-02-27 19:18:01 +0100 <tomsmeding> "multiple" is an understatement
2021-02-27 19:20:12 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-02-27 19:20:18 +0100 <topos> maerwald: do you genuinely want me to fix that issue? Because if so, give a mouse a cookie etc. i *will* end up contributing more :P
2021-02-27 19:21:17 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2021-02-27 19:23:57 +0100 <maerwald> topos: what cookies do you like?
2021-02-27 19:26:16 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 240 seconds)
2021-02-27 19:26:47 +0100 <monochrom> Give a mouse a cookie, and it becomes an ant haven for the rest of its support cycle.
2021-02-27 19:26:49 +0100 <topos> fair enough lol (oatmeal raisin)
2021-02-27 19:26:55 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-02-27 19:27:16 +0100 <topos> yes, i'm one of those degenerates
2021-02-27 19:27:36 +0100 <sm[m]> nothing wrong with oatmeal raisin
2021-02-27 19:27:46 +0100[exa]appends to a shopping list
2021-02-27 19:27:52 +0100 <maerwald> I can offer spelt
2021-02-27 19:28:18 +0100 <koz_> Oat raisin cookies are great.
2021-02-27 19:28:26 +0100koz_is also a degenerate.
2021-02-27 19:28:53 +0100toorevitimirp(~tooreviti@117.182.182.60) (Read error: Connection reset by peer)
2021-02-27 19:29:22 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-02-27 19:32:04 +0100 <monochrom> Real degenerates eat cookies made of https://en.wikipedia.org/wiki/Degenerate_matter
2021-02-27 19:33:06 +0100 <koz_> monochrom: Real degenerates are Lovecraftian horrors?
2021-02-27 19:33:08 +0100 <tomsmeding> that's kinda hard, I'd think
2021-02-27 19:33:14 +0100 <koz_> tomsmeding: Hurr hurr.
2021-02-27 19:33:29 +0100tomsmedingis proud
2021-02-27 19:33:34 +0100sQVe(~sQVe@unaffiliated/sqve)
2021-02-27 19:33:41 +0100 <monochrom> You can bet neutron star cookies are really dense and hard. :)
2021-02-27 19:34:47 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-02-27 19:35:23 +0100 <topos> koz_: i knew we
2021-02-27 19:35:27 +0100 <topos> *we'd like the same :)
2021-02-27 19:35:33 +0100 <topos> it just works out that way
2021-02-27 19:35:37 +0100 <koz_> Lol, yes.
2021-02-27 19:40:46 +0100inkbottle(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-02-27 19:40:48 +0100NGravity(csp@gateway/shell/xshellz/x-kkpjcyneagkaknmz)
2021-02-27 19:41:02 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 19:41:04 +0100rajivr(uid269651@gateway/web/irccloud.com/x-timnstzhilonhtxu) (Quit: Connection closed for inactivity)
2021-02-27 19:42:01 +0100zebrag(~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Ping timeout: 276 seconds)
2021-02-27 19:43:58 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 276 seconds)
2021-02-27 19:45:26 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 240 seconds)
2021-02-27 19:45:43 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-02-27 19:46:57 +0100totte(~totte@chakra/totte) (Ping timeout: 256 seconds)
2021-02-27 19:48:23 +0100totte(~totte@chakra/totte)
2021-02-27 19:50:09 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2021-02-27 19:54:12 +0100__minoru__shirae(~shiraeesh@46.34.207.247) (Ping timeout: 246 seconds)
2021-02-27 19:54:15 +0100minoru_shiraeesh(~shiraeesh@109.166.56.139)
2021-02-27 19:54:39 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 19:57:42 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-27 19:57:57 +0100Tario(~Tario@201.192.165.173)
2021-02-27 19:58:09 +0100sQVe(~sQVe@unaffiliated/sqve) (Ping timeout: 264 seconds)
2021-02-27 19:59:28 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2021-02-27 20:01:37 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 20:01:57 +0100gawen_(~gawen@movzbl.root.sx) (Quit: cya)
2021-02-27 20:02:11 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-27 20:02:43 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-02-27 20:03:35 +0100berberman_(~berberman@unaffiliated/berberman)
2021-02-27 20:03:54 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-27 20:04:05 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2021-02-27 20:04:05 +0100gawen(~gawen@movzbl.root.sx)
2021-02-27 20:07:40 +0100redmp(~redmp@172.58.35.77)
2021-02-27 20:07:46 +0100viluon(uid453725@gateway/web/irccloud.com/x-ignoxmynamzxzkoi)
2021-02-27 20:11:31 +0100lassulus(~lassulus@NixOS/user/lassulus)
2021-02-27 20:12:17 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 20:13:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-02-27 20:15:21 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 20:16:45 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 20:16:54 +0100ryankung(~ryankung@220.167.79.142)
2021-02-27 20:18:36 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
2021-02-27 20:19:35 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-hqwlvmypxcgqlrdh) (Quit: Connection closed for inactivity)
2021-02-27 20:20:16 +0100redmp(~redmp@172.58.35.77) (Ping timeout: 240 seconds)
2021-02-27 20:20:27 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2021-02-27 20:20:35 +0100ryankung(~ryankung@220.167.79.142) (Remote host closed the connection)
2021-02-27 20:21:22 +0100redmp(~redmp@172.58.35.77)
2021-02-27 20:24:34 +0100zmv-(~zmv@189.79.134.102)
2021-02-27 20:24:55 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2021-02-27 20:25:22 +0100zmv-notzmv
2021-02-27 20:25:32 +0100notzmv(~zmv@189.79.134.102) (Changing host)
2021-02-27 20:25:32 +0100notzmv(~zmv@unaffiliated/zmv)
2021-02-27 20:30:21 +0100redmp_(~redmp@172.58.35.206)
2021-02-27 20:30:45 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 20:30:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 20:31:25 +0100redmp(~redmp@172.58.35.77) (Ping timeout: 276 seconds)
2021-02-27 20:32:35 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-02-27 20:32:40 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 20:33:16 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-02-27 20:34:07 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-02-27 20:34:13 +0100 <fresheyeball> Is there a way I can do a runtime lookup of a typeclass instance?
2021-02-27 20:34:36 +0100 <fresheyeball> lets say I have `data Ext = forall a. Ext a`
2021-02-27 20:34:50 +0100 <dolio> No.
2021-02-27 20:35:18 +0100 <fresheyeball> There is no way I can lookup if `a` has an `Ord` instance and prove it to the compiler?
2021-02-27 20:35:24 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-27 20:35:34 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-27 20:35:37 +0100 <fresheyeball> I figured typeable might do this
2021-02-27 20:36:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-02-27 20:37:27 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 20:37:55 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
2021-02-27 20:37:58 +0100 <EvanR> instanceable
2021-02-27 20:38:16 +0100 <fresheyeball> ??
2021-02-27 20:38:29 +0100 <EvanR> might be what you would call this feature that doesn't exist
2021-02-27 20:39:33 +0100 <fresheyeball> I am pretty sure I did this before
2021-02-27 20:39:56 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2021-02-27 20:40:07 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 20:40:38 +0100 <fresheyeball> oh wait I remember
2021-02-27 20:40:44 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-02-27 20:40:47 +0100 <fresheyeball> yeah I did do this before, but it was horrible beyond reason
2021-02-27 20:41:06 +0100 <fresheyeball> https://hackage.haskell.org/package/exinst-0.7/docs/Exinst.html#t:Dict
2021-02-27 20:41:10 +0100 <fresheyeball> this is it
2021-02-27 20:42:53 +0100 <ski> fresheyeball : pretty sure it would violate parametricity
2021-02-27 20:43:05 +0100 <fresheyeball> nah, it really is doable
2021-02-27 20:43:11 +0100 <fresheyeball> but you need dependant pairs
2021-02-27 20:43:12 +0100 <ski> (`exists a. a' ought to be isomorphic to `()')
2021-02-27 20:43:22 +0100 <dolio> What you said is not possible.
2021-02-27 20:43:50 +0100 <dolio> Like, adding Typeable is different than your original example.
2021-02-27 20:43:57 +0100 <ski> if you ask about doing something slightly different, which may also apply as a solution to whatever you're doing, that might be possible
2021-02-27 20:44:24 +0100 <fresheyeball> if you have a pair where one part gives you the type, and the other part is a member, you can hookup things just so that pattern matching on the singleton, gives you proof of the constraint
2021-02-27 20:44:33 +0100 <fresheyeball> but I don't want to do that
2021-02-27 20:44:35 +0100 <ski> fresheyeball : in which way did you intend to use dependent pairs (and what exactly do you mean by that) ?
2021-02-27 20:44:38 +0100 <fresheyeball> so I am going to just take the no
2021-02-27 20:44:44 +0100lisq_lisq
2021-02-27 20:45:18 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 20:45:24 +0100 <dolio> Also, anything you do won't be 'runtime lookup of a typeclass instance' per se.
2021-02-27 20:45:27 +0100 <fresheyeball> ski: If I changed my code to existentialize in a singleton, as well as my term, it would be possible for me to lookup an arbitrary typeclass instance
2021-02-27 20:45:31 +0100 <fresheyeball> at runtime
2021-02-27 20:45:58 +0100 <fresheyeball> it's a runtime lookup because we don't know the type at compile time
2021-02-27 20:46:12 +0100 <fresheyeball> we have to branch at runtime because of the singleton
2021-02-27 20:46:37 +0100 <ski> it might just as well just be a run-time dispatch to a type class dictionary
2021-02-27 20:46:46 +0100 <monochrom> Typeable supports asking "is it an Int?" but not "is it an Eq?".
2021-02-27 20:47:01 +0100 <ski> (rather than statically, at compile-time, knowing which dictionary you're going to use)
2021-02-27 20:47:06 +0100 <fresheyeball> right typeable is not enough
2021-02-27 20:47:24 +0100 <nshepperd> technically that would be runtime type matching, following by returning the instance for that type looked up at compile time
2021-02-27 20:47:26 +0100 <ski> if you happen to know `Eq Int' already, you get the instance, though
2021-02-27 20:47:34 +0100 <fresheyeball> if my code had lots of existential stuff, I would use that exinst library to help me answer questions like "is it an Eq?"
2021-02-27 20:47:50 +0100 <monochrom> This is ample opportunity to do an "is it a pigeon?" meme. >:)
2021-02-27 20:47:54 +0100 <fresheyeball> I remember hooking this up being quite tricky even with exinst
2021-02-27 20:48:57 +0100 <fresheyeball> but for the record it really is doable
2021-02-27 20:49:08 +0100 <fresheyeball> I just forgot how, and now that I recall, I will not be doing this
2021-02-27 20:49:57 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 20:50:36 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Client Quit)
2021-02-27 20:50:51 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-02-27 20:51:30 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 20:54:03 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-27 20:55:53 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
2021-02-27 20:58:31 +0100Tario(~Tario@201.192.165.173)
2021-02-27 20:59:24 +0100kam1(~kam1@5.125.126.175) (Ping timeout: 265 seconds)
2021-02-27 20:59:46 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-ssveckbgtfjmjehe)
2021-02-27 20:59:53 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-02-27 21:05:12 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 265 seconds)
2021-02-27 21:07:12 +0100petersen(~petersen@redhat/juhp)
2021-02-27 21:10:01 +0100jacks2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2021-02-27 21:15:41 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 21:21:05 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Remote host closed the connection)
2021-02-27 21:21:26 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42)
2021-02-27 21:21:43 +0100fendor_(~fendor@178.165.128.181.wireless.dyn.drei.com)
2021-02-27 21:23:34 +0100son0p_(~son0p@181.136.122.143)
2021-02-27 21:24:27 +0100crobbins_(~crobbins@2601:2c1:200:ec50:5155:efb:dbf7:71bd)
2021-02-27 21:24:48 +0100rndBob2(49ac8a24@c-73-172-138-36.hsd1.de.comcast.net)
2021-02-27 21:25:01 +0100fendor(~fendor@91.141.0.74.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2021-02-27 21:25:22 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-02-27 21:25:25 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 21:27:18 +0100crobbins(~crobbins@2601:2c1:200:ec50:6092:acc2:26a1:f490) (Ping timeout: 260 seconds)
2021-02-27 21:27:22 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-02-27 21:27:26 +0100son0p(~son0p@181.136.122.143) (Ping timeout: 265 seconds)
2021-02-27 21:28:37 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 276 seconds)
2021-02-27 21:29:30 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Client Quit)
2021-02-27 21:29:31 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
2021-02-27 21:31:24 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48)
2021-02-27 21:31:29 +0100 <redmp_> is there a way to get the ip addr of a host with the nixops "nodes" input?
2021-02-27 21:31:58 +0100 <redmp_> sorry, wrong channel
2021-02-27 21:37:06 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Remote host closed the connection)
2021-02-27 21:38:39 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-27 21:39:16 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-02-27 21:39:58 +0100rndBob2(49ac8a24@c-73-172-138-36.hsd1.de.comcast.net) (Quit: Connection closed)
2021-02-27 21:40:10 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-02-27 21:42:46 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-02-27 21:42:57 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-02-27 21:44:23 +0100kritzefitz(~kritzefit@212.86.56.80)
2021-02-27 21:45:18 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-02-27 21:45:28 +0100usr25(~J@50.red-83-46-59.dynamicip.rima-tde.net)
2021-02-27 21:46:49 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-02-27 21:47:38 +0100gehmehgeh_(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2021-02-27 21:48:07 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds)
2021-02-27 21:49:03 +0100gehmehgeh_(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-02-27 21:51:35 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Client Quit)
2021-02-27 21:52:26 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-02-27 21:52:30 +0100puke(~vroom@217.138.252.56) (Ping timeout: 272 seconds)
2021-02-27 21:53:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 21:53:25 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-02-27 21:55:01 +0100usr25(~J@50.red-83-46-59.dynamicip.rima-tde.net) (Quit: Bye)
2021-02-27 21:58:22 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-27 21:58:31 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds)
2021-02-27 21:58:44 +0100catt(~r@31.127.31.99) (Remote host closed the connection)
2021-02-27 22:00:21 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-02-27 22:02:38 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-27 22:03:37 +0100emi00(524df5b9@82.77.245.185) (Quit: Connection closed)
2021-02-27 22:04:21 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:411:b35c:bf3:8b48) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-27 22:06:04 +0100pierrot_pierrot
2021-02-27 22:06:18 +0100pierrot(~pi@5.189.155.139) (Changing host)
2021-02-27 22:06:18 +0100pierrot(~pi@unaffiliated/pierrot)
2021-02-27 22:07:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-27 22:09:44 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 22:13:59 +0100crobbins_(~crobbins@2601:2c1:200:ec50:5155:efb:dbf7:71bd) (Remote host closed the connection)
2021-02-27 22:15:25 +0100average(uid473595@gateway/web/irccloud.com/x-vkybhfbovzssiwuk)
2021-02-27 22:16:06 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 22:17:05 +0100hiroaki_(~hiroaki@2a02:908:4b18:8c40:1704:72f0:b8b1:4ff4) (Ping timeout: 272 seconds)
2021-02-27 22:20:52 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-27 22:21:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds)
2021-02-27 22:22:18 +0100alx741(~alx741@186.178.108.37)
2021-02-27 22:24:10 +0100knupfer(~Thunderbi@200116b82ca67500acedfe2ebb5ba223.dip.versatel-1u1.de)
2021-02-27 22:24:52 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 22:25:27 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 22:28:22 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-02-27 22:28:32 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-02-27 22:29:36 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-02-27 22:30:57 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection)
2021-02-27 22:31:02 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 22:32:06 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-02-27 22:32:33 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-27 22:32:39 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 22:33:37 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-27 22:36:10 +0100kam1(~kam1@5.125.126.175)
2021-02-27 22:37:13 +0100epsyloN(~epsyloN-@192-222-209-220.qc.cable.ebox.net)
2021-02-27 22:37:30 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 22:38:21 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
2021-02-27 22:39:28 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Remote host closed the connection)
2021-02-27 22:39:36 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 22:40:36 +0100coot_(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 22:41:10 +0100coot_(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-02-27 22:42:23 +0100coot_(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-27 22:42:29 +0100epsyloN(~epsyloN-@192-222-209-220.qc.cable.ebox.net) (Remote host closed the connection)
2021-02-27 22:46:19 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-02-27 22:46:19 +0100coot_(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (K-Lined)
2021-02-27 22:49:48 +0100hiroaki_(~hiroaki@2a02:908:4b18:8c40:331:1c71:e87e:3061)
2021-02-27 22:54:35 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-02-27 22:56:36 +0100kam1(~kam1@5.125.126.175) (Ping timeout: 240 seconds)
2021-02-27 22:57:43 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-02-27 22:57:56 +0100knupfer(~Thunderbi@200116b82ca67500acedfe2ebb5ba223.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2021-02-27 22:59:46 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-02-27 23:00:32 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-02-27 23:01:04 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Remote host closed the connection)
2021-02-27 23:01:25 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-02-27 23:01:32 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 23:01:56 +0100son0p_(~son0p@181.136.122.143) (Ping timeout: 240 seconds)
2021-02-27 23:02:42 +0100son0p(~son0p@181.136.122.143)
2021-02-27 23:04:55 +0100kam1(~kam1@5.125.126.175)
2021-02-27 23:06:27 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 260 seconds)
2021-02-27 23:06:42 +0100son0p(~son0p@181.136.122.143) (Client Quit)
2021-02-27 23:08:22 +0100falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-02-27 23:10:45 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2021-02-27 23:11:05 +0100emmanuel_erc(~user@cpe-74-71-106-64.nyc.res.rr.com)
2021-02-27 23:11:32 +0100 <emmanuel_erc> Has anyone tried to use https://github.com/ocharles/ghc-nix?
2021-02-27 23:11:44 +0100 <emmanuel_erc> s/anyone/anyone here/
2021-02-27 23:11:59 +0100deja(~deja@212095008174.public.telering.at) (Quit: requested)
2021-02-27 23:12:12 +0100mjevans-(~mjevans-@185.163.110.108) (Remote host closed the connection)
2021-02-27 23:12:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab)
2021-02-27 23:12:28 +0100deja(~deja@212095008174.public.telering.at)
2021-02-27 23:12:30 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-02-27 23:14:24 +0100 <ddellacosta> nope, but looks really neat, thanks
2021-02-27 23:15:05 +0100 <ddellacosta> seems pretty experimental still though
2021-02-27 23:15:16 +0100 <emmanuel_erc> Yeah, I'm trying to get it to work.
2021-02-27 23:15:17 +0100 <Franciman> no, it is really interesting, but I will never use it. I prefer using as much free software as I can
2021-02-27 23:15:26 +0100 <Franciman> it may be cool to make a ghc-guix
2021-02-27 23:15:26 +0100 <Franciman> :')
2021-02-27 23:15:51 +0100 <emmanuel_erc> Does guix has "recursive guix"?
2021-02-27 23:16:58 +0100 <Franciman> what would it be?
2021-02-27 23:18:22 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-02-27 23:18:28 +0100 <emmanuel_erc> This library (ghc-nix) needs to call nix-build within a nix-build.
2021-02-27 23:18:39 +0100 <emmanuel_erc> I suspect guix would have to do something similar
2021-02-27 23:19:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-27 23:21:50 +0100 <jackdk> hololeap: no, but also it's disgusting that such things are necessary
2021-02-27 23:22:16 +0100 <NieDzejkob> argh, MonadState's functional dependency prevents me from writing a neat instance. Now I'll have to make up names for my special variants of get, gets, put, modify...
2021-02-27 23:23:10 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-02-27 23:24:05 +0100psutcliffe(~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Quit: Leaving)
2021-02-27 23:27:52 +0100I440r(~I440r@217.146.82.202)
2021-02-27 23:30:31 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-02-27 23:31:37 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-02-27 23:32:10 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-02-27 23:35:28 +0100 <koz_> How do you spell 'please fetch this package from Github right here' in a cabal.project file again?
2021-02-27 23:36:47 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3)
2021-02-27 23:37:37 +0100forgottenone(~forgotten@176.42.27.254) (Quit: Konversation terminated!)
2021-02-27 23:37:44 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-02-27 23:39:13 +0100 <int-e> koz_: https://cabal.readthedocs.io/en/3.4/cabal-project.html#specifying-packages-from-remote-version-con…
2021-02-27 23:39:32 +0100 <koz_> int-e: Perfect, thank you!
2021-02-27 23:39:36 +0100falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
2021-02-27 23:39:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:44cd:7ec7:332d:f0ab) (Remote host closed the connection)
2021-02-27 23:39:48 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-27 23:40:01 +0100Tario(~Tario@201.192.165.173)
2021-02-27 23:42:37 +0100puke(~vroom@217.138.252.56)
2021-02-27 23:42:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Ping timeout: 264 seconds)
2021-02-27 23:43:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-02-27 23:48:05 +0100 <dolio> If the fundep prevents an instance, the instance is pretty suspicious.
2021-02-27 23:48:05 +0100Wuzzy(~Wuzzy@p5790eecb.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2021-02-27 23:48:24 +0100 <dolio> Because the purpose of the fundeps is to make the classes practically useful.
2021-02-27 23:49:08 +0100 <koz_> NieDzejkob: What exactly are you trying to do?
2021-02-27 23:49:25 +0100gehmehgeh_(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-02-27 23:50:31 +0100 <NieDzejkob> I basically need to thread many different parts of context through the same state monad, so I'm using State TMap
2021-02-27 23:51:06 +0100 <NieDzejkob> I have a typeclass that provides the initial value so I was hoping I could do instance InitialValue a => MonadState a (State TMap)
2021-02-27 23:52:25 +0100 <koz_> Yeah, that's why it won't work. You wanna newtype and then define over that.
2021-02-27 23:52:49 +0100 <koz_> For State, the instance is (MonadState s (State s))
2021-02-27 23:52:55 +0100 <koz_> And the fundep burns that in.
2021-02-27 23:53:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-27 23:53:20 +0100 <NieDzejkob> yeah, I'm simplifying. I do have a newtype
2021-02-27 23:53:57 +0100 <NieDzejkob> the issue is that there are many possible state types for the same monad type
2021-02-27 23:53:58 +0100 <int-e> :t gets
2021-02-27 23:53:59 +0100 <lambdabot> MonadState s m => (s -> a) -> m a
2021-02-27 23:55:27 +0100 <ski> the FDs here always felt awkward
2021-02-27 23:55:41 +0100 <NieDzejkob> what's the motivation for that functional dep?
2021-02-27 23:55:47 +0100 <nshepperd> i sometimes think about the difference between "class MonadState s m | m -> s; instance MonadState Foo Bar" and "class MonadState s m; instance (s ~ Foo) => MonadState s Bar"
2021-02-27 23:55:55 +0100 <merijn> That's because all the classes in mtl are bad anyway, tbh
2021-02-27 23:56:14 +0100 <ski> being able to identify which state/environment/output to refer to, solely from its type
2021-02-27 23:56:16 +0100 <dolio> It ensures that the relevant instance can be inferred from just `m`.
2021-02-27 23:56:29 +0100 <int-e> NieDzejkob: so you can write 'get' and the result type is inferred
2021-02-27 23:56:41 +0100 <nshepperd> the latter lets you have effectively different fundep rules for each instance, but doesn't give as good inference when the second parameter is unknown
2021-02-27 23:56:46 +0100cntrl(~cntrl_@p200300ea6f41360063c0e986f070bad8.dip0.t-ipconnect.de)
2021-02-27 23:56:46 +0100 <dolio> Otherwise you'd need to annotate every use of `get` with the type of state you want to extract, unless it was determined by something else.
2021-02-27 23:57:16 +0100 <ski> yea .. better would possibly be to associate some kind of labels or identifiers with it
2021-02-27 23:57:27 +0100 <int-e> it's a design decision... you get better type inference if the monad determines what the embedded state's type is
2021-02-27 23:57:39 +0100cntrl(~cntrl_@p200300ea6f41360063c0e986f070bad8.dip0.t-ipconnect.de) (Client Quit)
2021-02-27 23:58:03 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:b84a:c23b:9840:733b)
2021-02-27 23:58:41 +0100systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
2021-02-27 23:59:08 +0100 <koz_> jared-w: Ping on Github Actions for Haskell-related stuff.
2021-02-27 23:59:22 +0100 <int-e> it might also fit better with transformers which would otherwise easily become very overlapping (if you don't have the fundep you may be tempted to lift MonadState through a StateT... because who would have the same state type twice in a transformer stack?)