2021/04/19

2021-04-19 00:00:00 +0200 <davean> your editor could let you type yours and generate mind even
2021-04-19 00:00:04 +0200 <davean> thats *all* it is
2021-04-19 00:00:11 +0200fendor(~fendor@178.165.130.27.wireless.dyn.drei.com) (Remote host closed the connection)
2021-04-19 00:00:48 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-19 00:02:16 +0200jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
2021-04-19 00:03:20 +0200gitgood(~gitgood@80-44-9-246.dynamic.dsl.as9105.com)
2021-04-19 00:04:20 +0200hiroaki_(~hiroaki@2a02:908:4b18:8c40:2bbc:3100:411b:408e)
2021-04-19 00:04:41 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 240 seconds)
2021-04-19 00:05:30 +0200 <lechner> Hi, is it possible to represent JSON field names containing hyphens in data types declared with JSON Generics?
2021-04-19 00:06:28 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258)
2021-04-19 00:08:20 +0200 <safinaskar> thanks for discussion! (i still have my opinion)
2021-04-19 00:09:13 +0200Zunaka(~IceChat9@176.24.159.82) (Quit: Never underestimate the power of stupid people in large groups.)
2021-04-19 00:09:44 +0200gitgood(~gitgood@80-44-9-246.dynamic.dsl.as9105.com) (Remote host closed the connection)
2021-04-19 00:14:13 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-04-19 00:14:44 +0200Alleria_(~textual@2603-7000-3040-0000-8d12-8548-27bc-6b87.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
2021-04-19 00:15:29 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-04-19 00:16:21 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 00:16:40 +0200kenanmarasli(1fdf0934@31.223.9.52) (Quit: Connection closed)
2021-04-19 00:18:36 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 00:19:10 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 00:20:41 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-19 00:21:33 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-04-19 00:22:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 00:22:57 +0200Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Quit: Leaving.)
2021-04-19 00:23:12 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-19 00:25:37 +0200royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-04-19 00:26:00 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2021-04-19 00:26:36 +0200jess(jess@freenode/staff/jess)
2021-04-19 00:26:39 +0200dinciorip(~dincio@5.170.13.178)
2021-04-19 00:27:14 +0200acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 246 seconds)
2021-04-19 00:28:16 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-04-19 00:28:43 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-19 00:30:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-19 00:35:21 +0200sh9(~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8)
2021-04-19 00:37:12 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-19 00:45:18 +0200barakkleyman_(~barakkley@2.55.14.78)
2021-04-19 00:45:32 +0200barakkl1993(~barakkley@2.55.46.17) (Ping timeout: 252 seconds)
2021-04-19 00:52:05 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-19 00:54:10 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 00:56:11 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 00:56:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-19 00:57:04 +0200Tario(~Tario@199.58.83.11)
2021-04-19 00:58:46 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-19 01:00:57 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 01:01:06 +0200loller_(uid358106@gateway/web/irccloud.com/x-uyikepdymdnjzedf)
2021-04-19 01:01:11 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 01:03:00 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 01:05:38 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 01:05:44 +0200dinciorip(~dincio@5.170.13.178) (Ping timeout: 246 seconds)
2021-04-19 01:08:36 +0200viluon(uid453725@gateway/web/irccloud.com/x-nkzdiizrnnhacztz)
2021-04-19 01:08:41 +0200Tario(~Tario@199.58.83.11) (Ping timeout: 240 seconds)
2021-04-19 01:09:55 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-19 01:11:39 +0200machinedgod(~machinedg@24.105.81.50)
2021-04-19 01:12:01 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-19 01:13:39 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-04-19 01:19:37 +0200Synthetica(uid199651@gateway/web/irccloud.com/x-xpxejlqaymkwmeed) (Quit: Connection closed for inactivity)
2021-04-19 01:20:11 +0200Tario(~Tario@199.58.83.11)
2021-04-19 01:20:23 +0200sh9(~sh9@softbank060116136158.bbtec.net)
2021-04-19 01:20:30 +0200barakkleyman_(~barakkley@2.55.14.78) (Ping timeout: 265 seconds)
2021-04-19 01:20:39 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
2021-04-19 01:20:55 +0200 <infinisil> lechner: I guess you're talking about aeson?
2021-04-19 01:21:37 +0200 <infinisil> lechner: If so, you can customize the field names of the derived instance with https://hackage.haskell.org/package/aeson-1.5.6.0/docs/Data-Aeson.html#v:fieldLabelModifier
2021-04-19 01:23:44 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-19 01:25:56 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-19 01:26:56 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 01:27:27 +0200saf222(~user@109-252-90-136.nat.spd-mgts.ru)
2021-04-19 01:27:48 +0200saf222(~user@109-252-90-136.nat.spd-mgts.ru) ()
2021-04-19 01:28:00 +0200 <Axman6> safinaskar: I'm curious wherer you picked up the style you use in your Haskell, I've neverseen anyone write haskell like that
2021-04-19 01:28:04 +0200 <Axman6> where*
2021-04-19 01:29:04 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 01:29:37 +0200Tario(~Tario@199.58.83.11) (Ping timeout: 268 seconds)
2021-04-19 01:30:29 +0200 <Axman6> I can't remember the last time I saw curly brackets used for anything other than records, nested lets, using fully qualified modules for everything.
2021-04-19 01:31:24 +0200Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-04-19 01:31:35 +0200Wuzzy(~Wuzzy@p5790e74f.dip0.t-ipconnect.de) (Quit: Wuzzy)
2021-04-19 01:32:48 +0200ep1ctetus(~epictetus@ip72-194-54-201.sb.sd.cox.net)
2021-04-19 01:33:23 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-04-19 01:33:23 +0200jonatan(~nate@h77-53-70-163.cust.a3fiber.se) (Ping timeout: 246 seconds)
2021-04-19 01:33:39 +0200jonatan(~nate@h77-53-70-163.cust.a3fiber.se)
2021-04-19 01:34:18 +0200Codaraxis_(~Codaraxis@141.98.255.147) (Ping timeout: 252 seconds)
2021-04-19 01:34:45 +0200son0p(~ff@181.136.122.143) (Remote host closed the connection)
2021-04-19 01:35:01 +0200 <monochrom> SPJ uses {;} too :)
2021-04-19 01:35:18 +0200 <Axman6> yes, but not in the same way
2021-04-19 01:35:34 +0200 <Axman6> and SPJ has more than earned the right to use whatever style he wants
2021-04-19 01:37:33 +0200 <lechner> infinisil: thanks! should i use fieldLabelModifier to replace underscores with hyphens?
2021-04-19 01:38:10 +0200 <infinisil> lechner: Sure that could work
2021-04-19 01:38:17 +0200hidedagger(~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1)
2021-04-19 01:39:31 +0200 <lechner> infinisil: is there a way to do it per field (and not necessarily for all)? I don't have that issue now but it seems more general
2021-04-19 01:39:48 +0200 <infinisil> lechner: You can write an instance yourself
2021-04-19 01:39:57 +0200 <Axman6> lechner: it sounds like you're nearing the point where just writing the instance will be easier
2021-04-19 01:40:02 +0200zeenk(~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75) (Quit: Konversation terminated!)
2021-04-19 01:41:04 +0200 <Axman6> I did a CTF the other day and in it it had JSON documents with field names "N" and "p+q", "p-q" etc. it was definitely easier to just write the instances
2021-04-19 01:42:19 +0200 <lechner> infinisil Axman6: it's my second time using Haskell. any hints would be appreciated https://paste.debian.net/1194239/
2021-04-19 01:42:48 +0200 <infinisil> lechner: Just read through the aeson page
2021-04-19 01:42:49 +0200 <Axman6> is Queue the one which has a hyphen?
2021-04-19 01:43:14 +0200 <infinisil> lechner: Specifically https://hackage.haskell.org/package/aeson-1.5.6.0/docs/Data-Aeson.html#g:2
2021-04-19 01:43:26 +0200 <lechner> base-directory, message-broker, routing-key, order-desk
2021-04-19 01:44:12 +0200dcoutts_(~dcoutts@unaffiliated/dcoutts) (Read error: Connection reset by peer)
2021-04-19 01:44:34 +0200dcoutts_(~dcoutts@unaffiliated/dcoutts)
2021-04-19 01:45:01 +0200 <Axman6> ok, well I'll use Queue as an example: instance FromJSON Queue where parseJSON = withObject "Queue" $ \v -> Queue <$> v .: "exchange" <*> v .: "routing-key" <*> v .: "queue"
2021-04-19 01:45:28 +0200 <lechner> yeah, i just found it. thanks so much!
2021-04-19 01:46:25 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 01:46:30 +0200 <lechner> what's <$> vs <*> please?
2021-04-19 01:46:38 +0200Tario(~Tario@201.192.165.173)
2021-04-19 01:46:58 +0200 <Axman6> <$> is infix fmap: (<$>) :: (a -> b) -> f a -> f b
2021-04-19 01:47:32 +0200 <Axman6> <*> is infix ap, often pronounced "apply". (<*>) :: f (a -> b) -> f a -> f b
2021-04-19 01:47:42 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 01:47:45 +0200 <Axman6> this is known at the Applicative pattern
2021-04-19 01:48:02 +0200fiedlr(~fiedlr@83.148.33.254) (Remote host closed the connection)
2021-04-19 01:48:19 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 01:48:21 +0200 <lechner> i read about that yesterday, but only got half of it.
2021-04-19 01:48:36 +0200 <Axman6> given a function f :: a -> b -> c -> d, and fa :: f a, fb :: f b, fc :: f c, the expression f <$> fa <*> fb <*> fc has type f d
2021-04-19 01:49:08 +0200 <Axman6> it allows us to turn a function of type a -> b ... -> z into a function of type f a -> f b -> ... -> f z
2021-04-19 01:49:29 +0200 <lechner> that part i got. i did not understand now and where to use such a powerful construct
2021-04-19 01:49:33 +0200 <lechner> how
2021-04-19 01:49:48 +0200 <Axman6> so, imagine f is Maybe, you can add the values in teo Maybe Int's by using (+) <$> Just 3 <*> Just 5
2021-04-19 01:49:58 +0200 <lechner> it's a generalization of map
2021-04-19 01:50:02 +0200 <Axman6> everywhere :)
2021-04-19 01:50:10 +0200 <koz_> It's a generalization of function application.
2021-04-19 01:50:14 +0200 <Axman6> > (+) <$> Just 4 <*> Just 5
2021-04-19 01:50:15 +0200 <lechner> right
2021-04-19 01:50:16 +0200 <koz_> Here's the key idea.
2021-04-19 01:50:16 +0200 <lambdabot> Just 9
2021-04-19 01:50:18 +0200 <koz_> :t ($)
2021-04-19 01:50:20 +0200 <lambdabot> (a -> b) -> a -> b
2021-04-19 01:50:22 +0200 <Axman6> > (+) <$> Just 4 <*> Nothing
2021-04-19 01:50:24 +0200 <koz_> :t (<*>)
2021-04-19 01:50:24 +0200 <lambdabot> Nothing
2021-04-19 01:50:25 +0200 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
2021-04-19 01:50:35 +0200 <koz_> Notice how the only difference is that 'f' there?
2021-04-19 01:50:43 +0200 <koz_> That 'f' is 'an effect'.
2021-04-19 01:50:51 +0200 <lechner> it adds the monad
2021-04-19 01:50:57 +0200 <koz_> So while ($) is 'pure function application', (<*>) is 'effectful function application'.
2021-04-19 01:51:15 +0200hiroaki_(~hiroaki@2a02:908:4b18:8c40:2bbc:3100:411b:408e) (Ping timeout: 260 seconds)
2021-04-19 01:51:28 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-04-19 01:51:34 +0200 <lechner> why are they used in JSON instances, please?
2021-04-19 01:51:41 +0200 <lechner> and how
2021-04-19 01:51:59 +0200 <koz_> lechner: FromJSON has an effect - the Parser effect, to be exact.
2021-04-19 01:52:04 +0200fiedlr(~fiedlr@83.148.33.254) (Remote host closed the connection)
2021-04-19 01:52:13 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds)
2021-04-19 01:52:34 +0200 <koz_> So the idea is that when you write a FromJSON instance, you work inside that effect, and that allows you to compose Parsers in various ways, by operating on 'what they would parse if they succeeded'.
2021-04-19 01:52:39 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 260 seconds)
2021-04-19 01:52:40 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 01:52:52 +0200 <Axman6> PArser is just another 'f' , a.k.a, a functor, and an applicative. if you trun :info PArser in ghic, you'll see it has instances for Functor, Applicative and Monad
2021-04-19 01:52:53 +0200 <lechner> but when do i use which? the example has both
2021-04-19 01:53:01 +0200 <koz_> What example?
2021-04-19 01:53:10 +0200 <Axman6> the example has both of what?
2021-04-19 01:53:21 +0200 <lechner> writing instances by hand https://hackage.haskell.org/package/aeson-1.5.6.0/docs/Data-Aeson.html#g:2
2021-04-19 01:53:49 +0200 <koz_> lechner: withObject is a helper.
2021-04-19 01:54:00 +0200 <koz_> The $ there has precisely 0 to do with JSON.
2021-04-19 01:54:13 +0200 <Clint> lechner: until you understand it, just remember that <$> is the first one and everything else after that is <*>
2021-04-19 01:54:21 +0200 <koz_> The part that uses the Parser effect is Person <$> v .: "name <*> v .: "age"
2021-04-19 01:56:06 +0200 <lechner> it's a learning curve, but boy do i love haskell!
2021-04-19 01:56:50 +0200fiedlr(~fiedlr@83.148.33.254) (Ping timeout: 246 seconds)
2021-04-19 01:57:15 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 01:59:10 +0200 <Axman6> You'll pretty soon realise this pattern comes up _everywhere_
2021-04-19 02:00:07 +0200atk(~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2021-04-19 02:00:12 +0200 <Axman6> for loops? Usually just applicatives. Null checks? Just applicatives a lot of the time too. passing around some config? Applicatives too
2021-04-19 02:00:29 +0200atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2021-04-19 02:00:43 +0200 <Axman6> erry day Immapplicative
2021-04-19 02:01:45 +0200 <lechner> thanks everyone for your help!
2021-04-19 02:01:52 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-19 02:01:55 +0200 <Axman6> lechner: also, for your second Haskell program, you're doing quite well. No haskeller would have any problems reading that
2021-04-19 02:02:01 +0200jess(jess@freenode/staff/jess) (Quit: Lost terminal)
2021-04-19 02:02:01 +0200 <Axman6> so nice work
2021-04-19 02:02:27 +0200jess(jess@freenode/staff/jess)
2021-04-19 02:02:29 +0200 <koz_> Yeah, and you've definitely not picked the easiest second thing to write.
2021-04-19 02:02:35 +0200 <koz_> So definitely nice work.
2021-04-19 02:03:03 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2021-04-19 02:04:10 +0200 <lechner> please let me say that i also like your helpful channel, and the friendly tone eround here.
2021-04-19 02:04:25 +0200ddellacosta(~ddellacos@86.106.143.10)
2021-04-19 02:04:33 +0200 <Axman6> Thanks for being more flexible than... some others :)
2021-04-19 02:04:55 +0200 <koz_> lechner: We try.
2021-04-19 02:05:20 +0200 <lechner> one day i'll muster the courage to drop Perl and JavaScript everywhere
2021-04-19 02:05:34 +0200 <Axman6> D:
2021-04-19 02:08:13 +0200 <Axman6> well, learn enough haskell, and you can make it look like Perl. using lens's Control.Lens.Operators makes that even easier
2021-04-19 02:08:46 +0200ddellacosta(~ddellacos@86.106.143.10) (Ping timeout: 252 seconds)
2021-04-19 02:10:24 +0200 <lechner> i watched a talk about lenses but that was totally above my my pay grade. i just worked my way through Hutton's tome but like "What I Wish I Knew ..." a lot better, plus of course "Learn you a Good ..." and a few others
2021-04-19 02:11:39 +0200 <koz_> Typeclassopedia is also essential IMHO.
2021-04-19 02:11:42 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-04-19 02:11:49 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-04-19 02:12:13 +0200 <lechner> yeah, it's just a bit steep for the uninitiated
2021-04-19 02:13:14 +0200 <lechner> hey, this program takes tasks from AMQP, but execution can take an hour or more. when using a 30 second heartbeat, do i have to use a special, event-loop aware way to fork programs?
2021-04-19 02:17:38 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-04-19 02:23:21 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 02:23:39 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-19 02:24:56 +0200philderbeast(~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
2021-04-19 02:25:06 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 02:26:29 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-19 02:26:44 +0200 <Axman6> lechner: you could use threads
2021-04-19 02:27:04 +0200 <geekosaur> threads and forkProcess don't mix
2021-04-19 02:27:27 +0200 <geekosaur> well, you can do it but expect problems
2021-04-19 02:27:57 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2021-04-19 02:28:32 +0200 <geekosaur> since other threads may have something locked but won't be replicated in the subprocess, leaving it with random things (such as Handles) locked and no way to unlock them
2021-04-19 02:28:56 +0200 <Axman6> I've never needed to fork haskell programs, threads give me everything I've needed
2021-04-19 02:29:02 +0200 <lechner> do i have to use threads when enabling the heartbeat in Network.AMQP, or does the driver send the heartbeat anyway?
2021-04-19 02:29:04 +0200royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-04-19 02:29:28 +0200 <Axman6> you'd have to look that up, get some experience reading some HAskell library code
2021-04-19 02:29:37 +0200 <lechner> yeah
2021-04-19 02:30:06 +0200 <lechner> hackage is the best place for online reading?
2021-04-19 02:30:12 +0200 <Axman6> sure
2021-04-19 02:30:51 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-04-19 02:31:12 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
2021-04-19 02:33:23 +0200safinaskar(6dfc5a88@109-252-90-136.nat.spd-mgts.ru) (Ping timeout: 240 seconds)
2021-04-19 02:36:03 +0200ericsagnes(~ericsagne@2405:6580:0:5100:26cf:eb6d:4a80:182c) (Ping timeout: 260 seconds)
2021-04-19 02:37:20 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 02:39:30 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 02:39:47 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 02:40:43 +0200vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-04-19 02:41:24 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 02:41:58 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 02:43:42 +0200bennofs__(~quassel@x4db75e90.dyn.telefonica.de)
2021-04-19 02:46:21 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849)
2021-04-19 02:46:34 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-19 02:47:17 +0200bennofs_(~quassel@x4dbf857b.dyn.telefonica.de) (Ping timeout: 260 seconds)
2021-04-19 02:48:06 +0200ericsagnes(~ericsagne@2405:6580:0:5100:c414:6b2f:3a1f:4a99)
2021-04-19 02:48:35 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-19 02:49:21 +0200 <Axman6> lechner: any luck) so far?
2021-04-19 02:50:06 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-19 02:50:33 +0200renzhi(~renzhi@2607:fa49:6500:bc00::e7b) (Ping timeout: 258 seconds)
2021-04-19 02:50:56 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Ping timeout: 258 seconds)
2021-04-19 02:53:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 02:53:40 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-19 02:57:11 +0200gzj(~gzj@unaffiliated/gzj) (Ping timeout: 268 seconds)
2021-04-19 02:58:34 +0200philderbeast(~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-19 02:59:20 +0200safinaskar(~user@109.252.90.136)
2021-04-19 03:00:03 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-19 03:00:22 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Ping timeout: 240 seconds)
2021-04-19 03:01:24 +0200vicfred(~vicfred@unaffiliated/vicfred)
2021-04-19 03:01:27 +0200ddellacosta(~ddellacos@86.106.143.157)
2021-04-19 03:01:28 +0200 <safinaskar> Axman6: i said about this in the channel. i will repeat. "using "do" inside of "do"? this is intentional. to hide bindings. i. e. i write "do { do { a<-...; ... }; foo; }" to make sure "foo" doesn't see "a". i am inventive:) Â . i don't simply copy-paste examples, i develop my style :)"
2021-04-19 03:02:22 +0200 <safinaskar> Axman6: "i learn haskell using "learn you haskell for a great good". very good book. but i was always frustrated from indentation-based syntax (i came from c++), so i started to use curly braces. In function "lex" i check some condition,"
2021-04-19 03:02:41 +0200 <safinaskar> Axman6: "if it holds, i return Nothing, if it doesn't hold, i check another condition, etc. I decided to check conditions using "case" as opposed to "if ... then ... else", because "case" allows me to use curly braces. conclusion: i started from "learn you haskell for a great good" style, then started to use curly braces (because of c++), then get rid of"
2021-04-19 03:02:56 +0200 <safinaskar> Axman6: ""if...then...else". that is"
2021-04-19 03:03:35 +0200 <yushyin> this book does not have such a good reputation here
2021-04-19 03:05:26 +0200 <safinaskar> yushyin: why? i think the book is perfect. the only complain i have today is that the book uses "*" instead of "Type"
2021-04-19 03:06:00 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 03:06:01 +0200 <safinaskar> yushyin: and yes, it was writen before AMP and MonadFail proposal
2021-04-19 03:06:05 +0200Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-04-19 03:06:26 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-19 03:08:04 +0200 <yushyin> I don't know never read it, I just know that people here constantly say it's one of the poorer books about teaching haskell.
2021-04-19 03:09:48 +0200stef204(~stef204@unaffiliated/stef-204/x-384198) (Read error: Connection reset by peer)
2021-04-19 03:11:06 +0200Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-04-19 03:13:30 +0200ep1ctetus(~epictetus@ip72-194-54-201.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-04-19 03:14:27 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds)
2021-04-19 03:15:45 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 03:16:07 +0200Wizek(uid191769@gateway/web/irccloud.com/x-imzvaajwbwqznbhg) (Quit: Connection closed for inactivity)
2021-04-19 03:17:01 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 03:18:01 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 03:22:22 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-19 03:22:57 +0200xff0x(~xff0x@2001:1a81:52bc:3c00:45ea:1449:467:f132) (Ping timeout: 250 seconds)
2021-04-19 03:25:06 +0200xff0x(~xff0x@2001:1a81:52f2:b700:a7c9:31ec:b9a1:9e16)
2021-04-19 03:26:31 +0200stef204(~stef204@unaffiliated/stef-204/x-384198)
2021-04-19 03:26:49 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 03:27:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-04-19 03:27:37 +0200Tario(~Tario@201.192.165.173)
2021-04-19 03:28:25 +0200drbean_(~drbean@TC210-63-209-68.static.apol.com.tw)
2021-04-19 03:32:12 +0200 <lechner> Hi, I made a lot of progess but cannot reconcile Int <-> PortNumber in line 75. FromJSON does not like PortNumber in line 29. Do I need a cast in line 75? Also, general style reviews are welcome, and probably needed. Thanks! https://dpaste.org/NxeL#L29,75
2021-04-19 03:33:45 +0200 <lechner> i'd like to take the port number from the YAML
2021-04-19 03:34:03 +0200AkechiShiro(~AkechiShi@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9) (Quit: WeeChat 2.9)
2021-04-19 03:34:49 +0200 <c_wraith> PortNumber is a really weird thing the network library did
2021-04-19 03:35:10 +0200 <c_wraith> The best way to work with it is fromIntegral
2021-04-19 03:37:11 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Ping timeout: 260 seconds)
2021-04-19 03:38:23 +0200viluon(uid453725@gateway/web/irccloud.com/x-nkzdiizrnnhacztz) (Quit: Connection closed for inactivity)
2021-04-19 03:41:23 +0200 <lechner> c_wraith: thanks! that worked great
2021-04-19 03:41:44 +0200 <c_wraith> you're welcome
2021-04-19 03:42:37 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection)
2021-04-19 03:43:40 +0200nicholasbulka(~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net)
2021-04-19 03:45:08 +0200 <lechner> Hi, in a stack-managed application, should i still commit the cabal file to the repo?
2021-04-19 03:45:27 +0200 <c_wraith> unless you're using hpack, yes
2021-04-19 03:46:54 +0200 <lechner> c_wraith: thanks!
2021-04-19 03:47:02 +0200aarvar(~foewfoiew@2601:602:a080:fa0:5ca2:103e:3230:e6a)
2021-04-19 03:47:13 +0200aarvar(~foewfoiew@2601:602:a080:fa0:5ca2:103e:3230:e6a) ()
2021-04-19 03:50:41 +0200nicholasbulka(~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net) (Ping timeout: 240 seconds)
2021-04-19 03:52:30 +0200 <yushyin> non-stack user will be thankful
2021-04-19 03:55:46 +0200Jd007(~Jd007@162.156.11.151)
2021-04-19 04:00:03 +0200c9sloud(~c9sloud@185.204.1.185)
2021-04-19 04:00:41 +0200hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2021-04-19 04:02:54 +0200Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-04-19 04:05:07 +0200 <glguy> Even if you use hpack you should be committing your .cabal files: https://www.fpcomplete.com/blog/storing-generated-cabal-files/
2021-04-19 04:05:19 +0200puke(~vroom@217.138.252.196) (Ping timeout: 265 seconds)
2021-04-19 04:06:25 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-04-19 04:07:33 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-04-19 04:09:00 +0200hyiltiz(~quassel@unaffiliated/hyiltiz)
2021-04-19 04:13:54 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
2021-04-19 04:14:10 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2021-04-19 04:14:30 +0200HannaM(~quassel@p54849510.dip0.t-ipconnect.de) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2021-04-19 04:15:18 +0200urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-04-19 04:15:27 +0200safinaskar(~user@109.252.90.136) ()
2021-04-19 04:18:38 +0200zebrag(~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr)
2021-04-19 04:20:05 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net)
2021-04-19 04:22:03 +0200xiinotulp(~q@node-umb.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
2021-04-19 04:24:12 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 04:25:32 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)")
2021-04-19 04:26:44 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-04-19 04:28:23 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 246 seconds)
2021-04-19 04:31:16 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 04:31:57 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-04-19 04:33:21 +0200reilly(~user@117.222.66.145)
2021-04-19 04:34:41 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
2021-04-19 04:36:20 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-19 04:36:23 +0200aarvar(~foewfoiew@2601:602:a080:fa0:ad7b:fd2e:e5be:a7b9)
2021-04-19 04:36:52 +0200aarvar(~foewfoiew@2601:602:a080:fa0:ad7b:fd2e:e5be:a7b9) (Client Quit)
2021-04-19 04:37:41 +0200reilly(~user@117.222.66.145) (Remote host closed the connection)
2021-04-19 04:38:43 +0200reilly(~user@117.222.66.145)
2021-04-19 04:41:18 +0200theDon(~td@94.134.91.146) (Ping timeout: 252 seconds)
2021-04-19 04:43:03 +0200theDon(~td@94.134.91.223)
2021-04-19 04:44:36 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 260 seconds)
2021-04-19 04:46:26 +0200FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-04-19 04:46:26 +0200finn_elijaGuest29414
2021-04-19 04:46:26 +0200FinnElijafinn_elija
2021-04-19 04:46:43 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
2021-04-19 04:47:42 +0200reilly(~user@117.222.66.145) (Remote host closed the connection)
2021-04-19 04:49:46 +0200geiger(~geiger@90.212.77.86) (Ping timeout: 252 seconds)
2021-04-19 04:49:57 +0200Guest29414(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
2021-04-19 04:51:29 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-19 04:52:44 +0200trexx(~trexx@117.222.66.145)
2021-04-19 04:58:42 +0200trexx(~trexx@117.222.66.145) (Remote host closed the connection)
2021-04-19 05:05:43 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-04-19 05:06:05 +0200ddellacosta(~ddellacos@86.106.143.157) (Remote host closed the connection)
2021-04-19 05:15:58 +0200minoru_shiraeesh(~shiraeesh@109.166.56.26) (Ping timeout: 240 seconds)
2021-04-19 05:19:13 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-04-19 05:19:18 +0200heatsink_(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 05:21:43 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-19 05:22:12 +0200superstar64(6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net)
2021-04-19 05:23:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 05:33:57 +0200xkapastel(uid17782@gateway/web/irccloud.com/x-isdhgqaucsczyafg) (Quit: Connection closed for inactivity)
2021-04-19 05:39:31 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 05:40:20 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 05:43:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-19 05:43:35 +0200zebrag(~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-04-19 05:43:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-19 05:44:53 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
2021-04-19 05:45:14 +0200Jd007(~Jd007@162.156.11.151)
2021-04-19 05:49:29 +0200rajivr(uid269651@gateway/web/irccloud.com/x-ozfaqobeqdbxwvmv)
2021-04-19 05:53:43 +0200 <lechner> Hi, could i use a closure here to pass 'channel' and other variables to the callback? Thanks! https://dpaste.org/jEgi#L107
2021-04-19 05:56:48 +0200 <glguy> consumeMsgs channel orderQueue Ack (orderCallback channel other variables)
2021-04-19 05:57:11 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-19 05:57:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-19 06:06:49 +0200 <lechner> What is the new prototype for orderCallback, please, if the two extra types are Channel and Queue?
2021-04-19 06:07:19 +0200ddellacosta(~ddellacos@86.106.143.131)
2021-04-19 06:08:01 +0200alx741(~alx741@186.178.109.113) (Quit: alx741)
2021-04-19 06:08:09 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-19 06:08:30 +0200rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-04-19 06:08:33 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-19 06:10:27 +0200 <lechner> never mind. i figured it out
2021-04-19 06:11:23 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-19 06:12:03 +0200ddellacosta(~ddellacos@86.106.143.131) (Ping timeout: 268 seconds)
2021-04-19 06:18:04 +0200stef204(~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1)
2021-04-19 06:25:49 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-19 06:26:28 +0200Tario(~Tario@201.192.165.173)
2021-04-19 06:27:17 +0200Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-04-19 06:29:27 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-vpfgdoawvwkfbpxh)
2021-04-19 06:33:01 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-19 06:36:53 +0200horatiohb(~horatiohb@45.55.40.152) (Ping timeout: 260 seconds)
2021-04-19 06:40:43 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-19 06:40:54 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-04-19 06:42:15 +0200ddellacosta(~ddellacos@86.106.143.92)
2021-04-19 06:43:30 +0200 <petersen> Anyone know how nixpkgs distro data gets uploaded to Hackage?
2021-04-19 06:43:56 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 06:45:15 +0200plutoniix(~q@184.82.212.134)
2021-04-19 06:46:48 +0200ddellacosta(~ddellacos@86.106.143.92) (Ping timeout: 240 seconds)
2021-04-19 06:47:04 +0200 <lechner> which way? https://hackage.haskell.org/package/distribution-nixpkgs or https://github.com/NixOS/nixpkgs/blob/release-20.03/pkgs/development/haskell-modules/hackage-packa…
2021-04-19 06:49:13 +0200waleee-cl(uid373333@gateway/web/irccloud.com/x-qwacgjbsbbsicbfw) (Quit: Connection closed for inactivity)
2021-04-19 06:50:45 +0200 <lechner> or are you looking for somehthing like this? https://repology.org/project/haskell:aeson/versions
2021-04-19 06:52:44 +0200Tario(~Tario@201.192.165.173)
2021-04-19 06:56:20 +0200 <petersen> lechner: ah thanks - I meant the code that does the upload
2021-04-19 06:56:27 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds)
2021-04-19 06:58:43 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-19 07:01:45 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 07:07:40 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-19 07:10:56 +0200heatsink_(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-04-19 07:11:01 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 07:12:22 +0200 <lechner> Hi, is rawSystem from System.Cmd really better than System.Process? http://book.realworldhaskell.org/read/systems-programming-in-haskell.html
2021-04-19 07:12:41 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-19 07:14:33 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 240 seconds)
2021-04-19 07:17:06 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 07:17:27 +0200c9sloud(~c9sloud@185.204.1.185) (Remote host closed the connection)
2021-04-19 07:19:04 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-19 07:19:16 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-19 07:19:28 +0200 <lechner> Also, what's everyone's favorite library for UTF-8, please? I decode early encode as late as possible, preferably right before printing or spewing. Thanks!
2021-04-19 07:22:02 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
2021-04-19 07:29:26 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2021-04-19 07:30:35 +0200aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-04-19 07:38:24 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2021-04-19 07:40:52 +0200Tario(~Tario@201.192.165.173) (Ping timeout: 240 seconds)
2021-04-19 07:41:55 +0200Antimatter(~Antimatte@195.140.213.38)
2021-04-19 07:42:38 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds)
2021-04-19 07:45:02 +0200anandprabhu(uid495588@gateway/web/irccloud.com/x-eezubqkxedpeqasj) (Quit: Connection closed for inactivity)
2021-04-19 07:46:29 +0200jao(~jao@pdpc/supporter/professional/jao) (Ping timeout: 246 seconds)
2021-04-19 07:46:57 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-19 07:49:14 +0200geiger(~geiger@90.212.77.86)
2021-04-19 07:50:20 +0200Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-19 07:52:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-19 07:52:36 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 07:54:10 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2021-04-19 07:54:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 07:55:26 +0200Antimatter(~Antimatte@195.140.213.38) (Remote host closed the connection)
2021-04-19 07:56:49 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849)
2021-04-19 07:56:52 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-19 08:04:14 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-19 08:05:55 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Ping timeout: 250 seconds)
2021-04-19 08:06:45 +0200wonko7(~wonko7@62.115.229.50)
2021-04-19 08:08:07 +0200asheshambasta(~user@ptr-e1lysawvmwijg2oywyl.18120a2.ip6.access.telenet.be)
2021-04-19 08:08:13 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-19 08:09:33 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 08:12:26 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-19 08:12:38 +0200rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2021-04-19 08:14:29 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
2021-04-19 08:14:32 +0200chele(~chele@5.53.222.202)
2021-04-19 08:16:02 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-04-19 08:19:59 +0200ericsagnes(~ericsagne@2405:6580:0:5100:c414:6b2f:3a1f:4a99) (Ping timeout: 260 seconds)
2021-04-19 08:21:26 +0200 <Axman6> lechner: you want Text for anything related to text. it contains functrions for decoding and encoding ByteStrings using UTF-8
2021-04-19 08:23:25 +0200 <Axman6> lechner: Looks like System.Cmd is deprecated, keep in mind that Real World Haskell is over a decade old now (and makes me feel very old), so there are lots of things that are no longer true
2021-04-19 08:24:18 +0200 <opqdonut> an annotated version would be nice
2021-04-19 08:24:30 +0200 <opqdonut> I guess the RWH web version has commenting, maybe the comments have pointed out deprecations?
2021-04-19 08:24:38 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 08:24:48 +0200 <sm[m]> lechner: the haddock for System.Process probably indicates what's new and what's old
2021-04-19 08:24:49 +0200 <Axman6> someone started a github repo to rewrite it IIRC
2021-04-19 08:25:24 +0200 <Axman6> https://github.com/tssm/up-to-date-real-world-haskell
2021-04-19 08:25:38 +0200 <opqdonut> nice
2021-04-19 08:26:21 +0200 <opqdonut> looks fairly complete already, cool
2021-04-19 08:27:16 +0200 <Axman6> most of it hasn't been touched for a long time though
2021-04-19 08:27:37 +0200 <opqdonut> yeah work might've fizzled out
2021-04-19 08:28:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-04-19 08:29:46 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-04-19 08:32:58 +0200ericsagnes(~ericsagne@2405:6580:0:5100:f72c:ebd9:1857:d75c)
2021-04-19 08:33:55 +0200landonf(landonf@mac68k.info) (Excess Flood)
2021-04-19 08:34:52 +0200sveit(~sveit@45.77.0.246) (Ping timeout: 240 seconds)
2021-04-19 08:34:55 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (Ping timeout: 260 seconds)
2021-04-19 08:35:14 +0200landonf(landonf@mac68k.info)
2021-04-19 08:35:21 +0200simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Ping timeout: 245 seconds)
2021-04-19 08:35:39 +0200Irenes(~irenes@NixOS/user/irenes)
2021-04-19 08:36:05 +0200 <Irenes> hey so uh
2021-04-19 08:36:16 +0200 <Axman6> uh oh no
2021-04-19 08:36:25 +0200 <Irenes> I used to be a regular here but left some years ago
2021-04-19 08:36:39 +0200 <Irenes> I'm coming to apologize for something that happened a long time ago
2021-04-19 08:36:47 +0200 <Irenes> I don't know whether anyone still remembers - maybe some of the mods
2021-04-19 08:37:14 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2021-04-19 08:37:18 +0200 <Irenes> this was in 2014. there was a conflict between me and someone called StoneCypher, who I did not know and don't really remember; I don't know whether they still come here.
2021-04-19 08:37:18 +0200 <Axman6> Your name is vaguely familiar to me...
2021-04-19 08:37:25 +0200 <Irenes> yeah likewise
2021-04-19 08:37:35 +0200 <Irenes> at the time, I found it inexplicable
2021-04-19 08:37:52 +0200 <Irenes> I went back and re-read those chatlogs recently and I realized that my behavior was pretty obnoxious
2021-04-19 08:37:56 +0200 <Irenes> which, like
2021-04-19 08:38:04 +0200 <Irenes> not a total surprise to me
2021-04-19 08:38:14 +0200 <Irenes> I was raised to be an asshole and it took me a long time to learn better
2021-04-19 08:38:23 +0200simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f)
2021-04-19 08:38:23 +0200sveit(~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f)
2021-04-19 08:38:34 +0200 <Irenes> but I kind of thought I'd gotten there by 2014
2021-04-19 08:38:46 +0200 <Irenes> anyway, to anyone who had to deal with it, especially the mods, sorry about that
2021-04-19 08:38:49 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-04-19 08:38:51 +0200 <Irenes> I know it made a lot of work for the mods
2021-04-19 08:39:10 +0200vchlup(~vchlup@nat.brnet.cz)
2021-04-19 08:39:13 +0200 <Irenes> I'm not planning to stick around but I'll wait like half an hour or something in case anyone wants to reply, and I'm signed in to Freenode generally these days
2021-04-19 08:39:25 +0200 <Irenes> I expect nobody has anything to say about that but I wanted to say it just in case
2021-04-19 08:40:12 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 08:40:21 +0200 <opqdonut> I was definitely around in 2014 but I don't remember this incident, but I appreciate you taking the effort to apologize now
2021-04-19 08:40:28 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 08:40:34 +0200 <Axman6> I mean, you could do a @where ops if you want to ring their bells.
2021-04-19 08:40:41 +0200 <[exa]> Irenes: well if you're still using haskell and in the mood of helping the community I guess you're welcome. also there are now two offtopic channels for whatever heated discussions :D
2021-04-19 08:41:07 +0200 <Axman6> I also don't remember it, I can certainly remember incidents in other channels going back further than that though, so it can't have been too horrendous. We're all assholes on the internet sometimes
2021-04-19 08:41:15 +0200 <MarcelineVQ> lel
2021-04-19 08:41:38 +0200 <Irenes> I'm into Rust these days, but thank you very much :)
2021-04-19 08:41:45 +0200 <Irenes> Axman6 that's good to hear
2021-04-19 08:42:49 +0200 <Axman6> we need more Rust people around too. I'd love to have good integration between Haskell and Rust
2021-04-19 08:43:27 +0200 <Irenes> heh, well, thank you then :) I might as well at least idle
2021-04-19 08:43:49 +0200[exa].oO(idle for victory!!!11)
2021-04-19 08:44:00 +0200 <Irenes> if we're going to stick around you are going to see us intermittently use plural pronouns; cf. https://pluralpride.com/playbook for an explanation
2021-04-19 08:44:43 +0200 <Axman6> they are welcome to use whatever language can be parsed and understood
2021-04-19 08:44:51 +0200Varis(~Tadas@unaffiliated/varis)
2021-04-19 08:45:51 +0200nut`(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 08:45:54 +0200 <Irenes> thank you very much. really appreciated. "you" and "y'all" are both fine in second-person, they/them is for third person.
2021-04-19 08:45:58 +0200johannes_(~johannes@mue-88-130-62-032.dsl.tropolys.de)
2021-04-19 08:46:06 +0200 <Irenes> there was a huge controversy in the 18th century about whether "singular you" was proper English.
2021-04-19 08:46:19 +0200 <Irenes> the outcome was that it works fine for both singular and plural ;)
2021-04-19 08:46:28 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-19 08:46:57 +0200 <[exa]> Irenes: you're in a channel full of mathematicians who write 99% of the text with 'we prove the theorem' :]
2021-04-19 08:47:22 +0200 <Irenes> yeah tbh when we were kids we used to go out of our way to use "we" in code comments. we told ourselves it was including the reader in our process.
2021-04-19 08:47:35 +0200 <Irenes> excellent then :)
2021-04-19 08:49:05 +0200gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-04-19 08:49:25 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-19 08:52:07 +0200gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-04-19 08:52:27 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-19 08:53:13 +0200 <pjb> Irenes: it's not an inclusive "we", it's a majestic "we"! https://en.wikipedia.org/wiki/Royal_we
2021-04-19 08:53:52 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 265 seconds)
2021-04-19 08:54:18 +0200Axman6royal waves
2021-04-19 08:54:19 +0200 <Irenes> hehe :3
2021-04-19 08:54:24 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-04-19 08:54:58 +0200 <Axman6> btw, I'm Australian, so I'm gonna use "youse"
2021-04-19 08:56:12 +0200superstar64(6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Quit: Connection closed)
2021-04-19 08:59:38 +0200vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-04-19 08:59:52 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be)
2021-04-19 09:01:07 +0200Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de)
2021-04-19 09:02:29 +0200gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-04-19 09:02:49 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-19 09:03:03 +0200 <Irenes> "youse" works fine, thanks haha
2021-04-19 09:03:20 +0200 <Axman6> youse're welcome
2021-04-19 09:03:21 +0200idhugo_(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
2021-04-19 09:04:40 +0200gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-04-19 09:04:59 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-19 09:05:11 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 09:06:04 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
2021-04-19 09:06:12 +0200jespada(~jespada@90.254.243.187)
2021-04-19 09:09:33 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 09:09:55 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-19 09:10:14 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-19 09:10:53 +0200Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 260 seconds)
2021-04-19 09:11:34 +0200cfricke(~cfricke@unaffiliated/cfricke)
2021-04-19 09:12:33 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-19 09:13:46 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-19 09:15:13 +0200berberman_(~berberman@unaffiliated/berberman)
2021-04-19 09:16:03 +0200berberman(~berberman@unaffiliated/berberman) (Ping timeout: 248 seconds)
2021-04-19 09:17:04 +0200nut`(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-04-19 09:18:26 +0200thc202(~thc202@unaffiliated/thc202)
2021-04-19 09:18:53 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-vpfgdoawvwkfbpxh) (Quit: Connection closed for inactivity)
2021-04-19 09:23:14 +0200Sornaensis(~Sornaensi@077213200034.dynamic.telenor.dk)
2021-04-19 09:29:22 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-19 09:30:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 09:32:14 +0200davidfetter1(~davidfett@195.140.213.38)
2021-04-19 09:35:50 +0200Sorna(~Sornaensi@79.142.232.102)
2021-04-19 09:35:54 +0200 <maerwald> do mods enforce pronoun compliance here?
2021-04-19 09:35:56 +0200jumper149(~jumper149@80.240.31.34)
2021-04-19 09:36:45 +0200jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
2021-04-19 09:37:41 +0200jb55(~jb55@gateway/tor-sasl/jb55)
2021-04-19 09:38:36 +0200Sornaensis(~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 260 seconds)
2021-04-19 09:41:20 +0200 <toppler`> One of my maths tutors said that the purpose of "we" is so that when you make a mistake, you can blame everyone.
2021-04-19 09:42:17 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 09:44:23 +0200 <pjb> toppler`: math tutors have a good sense of humour in general.
2021-04-19 09:46:11 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-04-19 09:46:26 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-19 09:47:25 +0200 <tdammers> maerwald: only if your pronouns are "xhkle/xhklim/xhkler"
2021-04-19 09:48:11 +0200michalz(~user@185.246.204.56)
2021-04-19 09:58:15 +0200 <tdammers> though on a more serious note, singular / plural are highly messed up in most European languages, partly due to the frequent language clashes, partly due to feudalism and the habit of using singular and plural as expressions of social status
2021-04-19 09:59:23 +0200 <pjb> tdammers: on a more serious notes, language is more sophisticated that SJW believe.
2021-04-19 09:59:48 +0200 <pjb> tdammers: ie. the grammatical form is UNRELATED to the actual physical or biological reality!
2021-04-19 09:59:52 +0200 <pjb> DUH!
2021-04-19 10:00:06 +0200 <pjb> tdammers: in French, a table is female, a desk is male !!!
2021-04-19 10:00:25 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-04-19 10:00:37 +0200GZJ0X_(~gzj@unaffiliated/gzj)
2021-04-19 10:00:45 +0200 <pjb> tdammers: grammatical singular and plural, just like grammatical gender, are unrelated to number and sex.
2021-04-19 10:01:07 +0200 <Uniaika> am French, can testify our pronouns system is fucked up
2021-04-19 10:01:14 +0200 <pjb> It is not.
2021-04-19 10:01:23 +0200 <Uniaika> It is
2021-04-19 10:01:24 +0200 <pjb> Grammar works at a higher, and more symbolic level.
2021-04-19 10:01:24 +0200evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-04-19 10:01:35 +0200 <Uniaika> then why don't we have a neutral pronoun?
2021-04-19 10:01:46 +0200 <pjb> But we have it!
2021-04-19 10:02:03 +0200 <pjb> "on"
2021-04-19 10:02:29 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-19 10:02:31 +0200 <pjb> and male is neutral as well as it covers both male and female.
2021-04-19 10:02:43 +0200 <gnumonic> Eh we don't have a real second person plural in english. Y'all? Youse? Yinz?
2021-04-19 10:02:50 +0200 <Uniaika> gnumonic: thy
2021-04-19 10:02:54 +0200 <Uniaika> ah, plural
2021-04-19 10:02:55 +0200 <Uniaika> well
2021-04-19 10:02:58 +0200 <Uniaika> it's "you"
2021-04-19 10:03:11 +0200 <Uniaika> but English forgot its second person singular
2021-04-19 10:03:14 +0200 <Uniaika> which is a pity
2021-04-19 10:03:33 +0200gzj(~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds)
2021-04-19 10:03:34 +0200 <tdammers> pjb: they are not entirely unrelated, but the relationship is much more complex than a plain "equals" or "implies"
2021-04-19 10:03:34 +0200 <pjb> If you're unstatisfied of the historic layers in natural languages, you should just start again from scratch.
2021-04-19 10:04:37 +0200 <tdammers> but yes, it is important to recognize that grammatical gender, social gender, and biological sex, are different things that correlate to varying degrees
2021-04-19 10:04:59 +0200 <Uniaika> tdammers: yep
2021-04-19 10:05:05 +0200evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-04-19 10:06:26 +0200 <tdammers> for example, when it is clear from the context that I am talking about a human whom I know personally, and I use grammatically male pronouns, then in practically all European languages and their associated cultures, that implies that I consider that person as socially male
2021-04-19 10:07:06 +0200 <maerwald> tdammers: well, in #python, they are enforced, at least partly. Just wanted to check.
2021-04-19 10:07:19 +0200hendursa1(~weechat@gateway/tor-sasl/hendursaga)
2021-04-19 10:08:13 +0200 <maerwald> the main issue is coming up with a default pronoun
2021-04-19 10:08:41 +0200 <tdammers> "xhkle"
2021-04-19 10:08:47 +0200 <maerwald> :>
2021-04-19 10:08:54 +0200 <Uniaika> hey I know that vim binding
2021-04-19 10:09:03 +0200 <tdammers> seriously though: it's really a cultural problem rather than a linguistic one
2021-04-19 10:09:17 +0200 <gnumonic> I just wish we had a finite set of pronouns. I'll call anyone whatever they want to be called, but pronouns sorta cease to serve the role of pronouns if you have to remember 100 different ones for 100 people -_-
2021-04-19 10:09:33 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-19 10:09:35 +0200 <maerwald> yeah, it's unpractical
2021-04-19 10:09:47 +0200 <tdammers> using the wrong pronouns is a problem because our culture(s) consider misgendering someone an offense
2021-04-19 10:10:05 +0200 <tdammers> and that, in turn, is because some genders have historically been privileged, and largely still are
2021-04-19 10:10:41 +0200 <tdammers> which is the reason why distinguishing social genders in the language is kind of a big deal in the first place
2021-04-19 10:10:55 +0200 <tdammers> if gender didn't matter, we wouldn't have grammatical genders
2021-04-19 10:11:05 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 260 seconds)
2021-04-19 10:11:22 +0200idhugo__(~idhugo@130.225.16.16)
2021-04-19 10:11:46 +0200 <tdammers> or maybe we would, but they'd be something completely different than "male/female/neutral"; they might be something like "anthropomorph/concrete/abstract" maybe
2021-04-19 10:11:47 +0200 <maerwald> at any rate, it's easy to avoid them altogether, by just using the nick instead
2021-04-19 10:12:05 +0200 <tdammers> well, at least the second person pronouns in English are gender-neutral
2021-04-19 10:12:26 +0200 <merijn> tdammers: Fun fact: some languages do have someting like "alive/dead" as "genders" :)
2021-04-19 10:12:45 +0200 <merijn> But that's maybe more for -offtopic :p
2021-04-19 10:12:58 +0200 <tdammers> merijn: oh yes, human languages never cease to amaze. there are languages that have different pronunciation and grammar based on the gender of the *speaker*
2021-04-19 10:13:22 +0200GutsTheme(1b04cef3@27.4.206.243)
2021-04-19 10:13:33 +0200idhugo_(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-04-19 10:13:35 +0200 <GutsTheme> HI
2021-04-19 10:13:36 +0200 <opqdonut> I'm pretty glad my native language (finnish) isn't gendered at all. I think swedish is interesting in that it has male/female gendered pronouns, but nouns are gendered arbitrarily (linguistically male/neuter, but nobody thinks of it that way)
2021-04-19 10:14:01 +0200 <opqdonut> but err yeah this is probably better suited for the offtopic channel
2021-04-19 10:14:10 +0200 <gnumonic> Finnish: A language with no genders but like 50 different words for getting drunk :P
2021-04-19 10:14:11 +0200GZJ0X_(~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds)
2021-04-19 10:15:16 +0200 <Maxdamantus> gnumonic: it's "second-person singular" that's missing, not plural, but even thinking about it like that is misleading.
2021-04-19 10:15:42 +0200 <Maxdamantus> There's only really one "singular" in English, and that's third-person.
2021-04-19 10:16:22 +0200 <Maxdamantus> everything other than third-person singular uses regular verbs corresponding to third-person plural.
2021-04-19 10:16:48 +0200 <Maxdamantus> I eat, we eat, you eat, they eat, it eats
2021-04-19 10:17:59 +0200 <toppler`> Haskell types should have a gender.
2021-04-19 10:18:32 +0200 <toppler`> Not sure how well this would play with higher-kinding.
2021-04-19 10:18:38 +0200 <merijn> I say this topic has now officially ran its course and is thoroughly *not* Haskell related... >.>
2021-04-19 10:18:39 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-04-19 10:18:55 +0200 <joel135> Dialects of swedish have male/female distinctions in indefinite articles (e.g. jen/je/jett instead of en/ett).
2021-04-19 10:19:05 +0200 <Maxdamantus> I don't think it's useful enough in Haskell.
2021-04-19 10:20:07 +0200 <GutsTheme> I want to retain the value of a variable through replicateM_ loops, how can one do that ?
2021-04-19 10:20:08 +0200joel135goes to #haskell-offtopic.
2021-04-19 10:20:08 +0200 <Maxdamantus> The purpose of distinct agreement in natural language is probably to try to resolve some syntactic/referential ambiguities, but Haskell avoids those in other ways.
2021-04-19 10:20:45 +0200 <GutsTheme> and if that's not possible what is the functional equivalend of a while(n--) in haskell ?
2021-04-19 10:21:09 +0200ddellacosta(~ddellacos@86.106.143.183)
2021-04-19 10:21:17 +0200 <Taneb> :t mapAccumL
2021-04-19 10:21:18 +0200enoq(~textual@194-208-146-143.lampert.tv)
2021-04-19 10:21:19 +0200 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
2021-04-19 10:22:11 +0200oo_miguel(~miguel@89-72-187-203.dynamic.chello.pl) (Quit: WeeChat 2.3)
2021-04-19 10:22:41 +0200zariuq(~zar@fw1.ciirc.cvut.cz)
2021-04-19 10:22:53 +0200aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 258 seconds)
2021-04-19 10:22:55 +0200kritzefitz(~kritzefit@2003:5b:203b:200::10:49)
2021-04-19 10:22:56 +0200 <Maxdamantus> (eg, you don't have referential ambiguities in Haskell, because you always refer to things by unambiguously resolvable variables, rather than having constructs like "that" or "it" which could refer to one of multiple things)
2021-04-19 10:22:57 +0200 <Taneb> GutsTheme: you can use something like mapAccumL, or you can use the StateT monad transformer from the transformers library
2021-04-19 10:23:15 +0200 <merijn> Maxdamantus: I suggest taking the remaining discussion to #haskell-offtopic
2021-04-19 10:23:33 +0200 <GutsTheme> yeah idk what any of that means, let's me just give you the problem that I'm trying to solve
2021-04-19 10:24:03 +0200fendor(~fendor@178.115.130.32.wireless.dyn.drei.com)
2021-04-19 10:25:02 +0200 <tdammers> Maxdamantus: English does have first-person singular / plural, it just so happens that the verb forms are the same for almost all verbs (however: "I am" / "we are"!@)
2021-04-19 10:25:49 +0200ddellacosta(~ddellacos@86.106.143.183) (Ping timeout: 252 seconds)
2021-04-19 10:27:34 +0200 <GutsTheme> https://paste.tomsmeding.com/oQtvZQW2 here, I am trying to append all the points to an array and then i'll process them but the cords arrays is empty after an "iteration"
2021-04-19 10:29:51 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 10:30:58 +0200 <merijn> You probably don't want replicateM but just a recursive loop
2021-04-19 10:31:08 +0200 <gnumonic> Ooh if we're talking about Haskell I have a haskell question: What's an indexed cartesian store comonad?
2021-04-19 10:31:20 +0200 <gnumonic> You can assume I know what a regular store comonad is
2021-04-19 10:31:56 +0200 <gnumonic> And have a vague idea about what an indexed normal monad is
2021-04-19 10:32:32 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 240 seconds)
2021-04-19 10:33:34 +0200GutsTheme(1b04cef3@27.4.206.243) (Quit: Connection closed)
2021-04-19 10:36:07 +0200fiedlr(~fiedlr@83.148.33.254) (Remote host closed the connection)
2021-04-19 10:36:23 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 10:36:41 +0200 <joel135> Is a store comonad something like (a, _) ?
2021-04-19 10:37:56 +0200 <joel135> Oh I see it is this structure https://hackage.haskell.org/package/comonads-fd-4.0/docs/Control-Comonad-Store.html
2021-04-19 10:39:34 +0200 <gnumonic> Ya. an "indexed cartesian store comonad" is... something mentioned in the lens internals. I'm trying to figure out if I didn't patch this type-level lens library right or if it just can't do what I want, but I don't really understand what the point of an indexed store comonad is exactly :-(
2021-04-19 10:39:41 +0200_xor(~xor@74.215.46.133)
2021-04-19 10:40:39 +0200 <gnumonic> It has something to do with traversals and holes and whether there are more of them or not, and something to do with how "extend" combines with a type/kind index... i think?
2021-04-19 10:42:50 +0200charukiewicz(~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 252 seconds)
2021-04-19 10:43:07 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-19 10:43:27 +0200charukiewicz(~quassel@irouteince04.i.subnet.rcn.com)
2021-04-19 10:43:47 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-04-19 10:44:16 +0200 <joel135> Ok and Env e = (e, _) and Store s = (s -> _, s) are instances...
2021-04-19 10:47:57 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-04-19 10:48:53 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-19 10:49:00 +0200bb010g_(uid21050@gateway/web/irccloud.com/x-onettvptumlyxjvo)
2021-04-19 10:49:10 +0200bb010g_(uid21050@gateway/web/irccloud.com/x-onettvptumlyxjvo) (Client Quit)
2021-04-19 10:49:43 +0200bb010g(uid21050@gateway/web/irccloud.com/x-onrynoluckjwobrc)
2021-04-19 10:51:20 +0200 <gnumonic> I never could figure out what the point of the Env comonad was. Store is neat though. It holds a function (s -> a) and an s and spits out an a. I've been using it to simulate "reversible" effectful functions, so s = Map k (x -> m x) and a = m x, and an accessor function that folds the map with (>=>) over some initial value
2021-04-19 10:52:02 +0200 <gnumonic> i dunno if that made any sense :p
2021-04-19 10:55:33 +0200 <gnumonic> Everyone wanna talk about pronouns, no one wanna talk about comonads :-(
2021-04-19 10:56:11 +0200 <joel135> I want to talk about comonads but I have to hoogle 5 things before I understand what you mean :P
2021-04-19 10:56:50 +0200drbean_(~drbean@TC210-63-209-68.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-19 10:57:20 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-04-19 10:58:14 +0200 <trcc> In some cases, you can only implement one function and then you actually get two functions. I.e. something if simple, if it is not complex. Something is complex, if it is not simple. In such a case it is only necessary to define either complex or simple, but you do not have to define two. What is this concept called?
2021-04-19 10:58:33 +0200 <joel135> gnumonic: Is k like the Σ of a finite automaton? Could you show me an example?
2021-04-19 10:58:48 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 10:59:50 +0200 <joel135> trcc: contrapositive ?
2021-04-19 11:00:07 +0200 <trcc> joel135: I will try and look it up and see if that is what I mean
2021-04-19 11:00:07 +0200Cesionaut[m](cesionautm@gateway/shell/matrix.org/x-sdjhygltyhtlomgg) (Quit: Idle for 30+ days)
2021-04-19 11:00:43 +0200 <trcc> I am thinking of the haskell term of this, not necessarily the abstract logic term
2021-04-19 11:02:39 +0200 <joel135> I am not aware that you can implement one function and get two in haskell.
2021-04-19 11:03:38 +0200 <trcc> i.e. if you make a typeclass that subclasses Eq, then you only have to implement == or \= right?
2021-04-19 11:03:44 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
2021-04-19 11:03:50 +0200 <trcc> but you also get the other
2021-04-19 11:04:02 +0200 <trcc> My terminology might be off
2021-04-19 11:04:17 +0200 <joel135> hackage uses the term 'Minimal complete definition'
2021-04-19 11:04:58 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-19 11:05:06 +0200 <trcc> perfect! thank you!
2021-04-19 11:05:08 +0200 <joel135> for Applicative this is pure, ((<*>) | liftA2)
2021-04-19 11:05:21 +0200 <trcc> Minimal complete definition: either == or /=.
2021-04-19 11:05:27 +0200 <trcc> this was exactly what I was looking for
2021-04-19 11:05:28 +0200 <merijn> trcc: "default implementations"
2021-04-19 11:05:28 +0200 <joel135> yes
2021-04-19 11:05:29 +0200 <trcc> https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Eq.html
2021-04-19 11:06:21 +0200 <merijn> trcc: The minimal complete definition is the set of things you need to define for a typeclass to work. The reason why you don't have to implement them all is because some typeclasses have default implementations for functions
2021-04-19 11:06:45 +0200 <trcc> Yes I think I understand that, I just needed the term "minimal complete definition"
2021-04-19 11:06:54 +0200 <trcc> thank you both
2021-04-19 11:07:11 +0200 <merijn> ok, just checking, because that wasn't quite what you asked, but if it's what you wanted, good :p
2021-04-19 11:07:24 +0200 <trcc> hehe i agree with both :D
2021-04-19 11:07:57 +0200 <trcc> I cannot find the time to work with haskell because of other obligations, but we have a different employee who is beginning to show some interest
2021-04-19 11:08:11 +0200 <trcc> so I can live out my haskell wild life through him ^^
2021-04-19 11:08:13 +0200 <gnumonic> Er in my last message k is just a key (i.e. Ord k), I was just trying to point out an application of Store. If you have a map of monadic functions in the store, and the accessor function folds the map monadically, it provides a nice interface for "looking at" the output object under various combinations of the functions in the map
2021-04-19 11:08:13 +0200 <joel135> https://hackage.haskell.org/package/comonads-fd-4.0/docs/Control-Comonad-Trans-Identity.html LOL
2021-04-19 11:08:34 +0200 <merijn> trcc: If you want mathier terminology there's also "necessary and sufficient"
2021-04-19 11:09:07 +0200 <gnumonic> The concrete problem I used it to solve is is like, incredibly stupid, but Store is an order of magnitude less ugly than anything else I could come up with to solve it
2021-04-19 11:09:41 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 11:10:43 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 11:10:57 +0200 <joel135> ok so you have one way to access m x before and one way to access it after applying a subset of the things in the map
2021-04-19 11:11:18 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-19 11:12:03 +0200 <gnumonic> yeah. and you can manipulate the map with seeks or peeks
2021-04-19 11:12:17 +0200 <trcc> merijn: what is mathier terminology? not familiar iwth that
2021-04-19 11:15:11 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds)
2021-04-19 11:15:18 +0200 <joel135> gnumonic: is this instance of ComonadStore provided by some library ?
2021-04-19 11:15:26 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 240 seconds)
2021-04-19 11:16:26 +0200 <merijn> trcc: "necessary and sufficient"
2021-04-19 11:17:06 +0200 <joel135> noun - math, adjective - mathy mathier mathiest
2021-04-19 11:17:20 +0200vv8(~egp_@2.95.117.163) (Remote host closed the connection)
2021-04-19 11:17:35 +0200 <gnumonic> Exactly what I'm using with the map and whatnot? Don't think so. I wasn't sure if it was generally useful enough to make it into a library and throw on hackage. Uh gimme a sec and I'll show you the code though (it's not super pretty/highly experimental/etc)
2021-04-19 11:17:56 +0200 <joel135> good :D
2021-04-19 11:17:58 +0200 <merijn> trcc: in mathspeak something is "necessary" if no solution/proof/whatever of a problem can be made without it (but you might need more than just the *necessary* things). And "sufficient" means that a proof can be constructed using just what you have (although it may include unnecessary/redundant things)
2021-04-19 11:18:15 +0200LKoen(~LKoen@77.168.9.109.rev.sfr.net)
2021-04-19 11:18:23 +0200 <merijn> trcc: So "necessary and sufficient" describes a, well, "minimal and complete" set of requirements for something
2021-04-19 11:18:39 +0200 <trcc> ahh now I get it
2021-04-19 11:18:56 +0200Synthetica(uid199651@gateway/web/irccloud.com/x-lrjabllucnezjrom)
2021-04-19 11:20:37 +0200 <trcc> it was the adjective thing I did not get. "mathier" I was looking it up in dictionaries and stuff hehe
2021-04-19 11:21:07 +0200forell(~forell@unaffiliated/forell) (Quit: ZNC - https://znc.in)
2021-04-19 11:21:14 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-04-19 11:21:51 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 11:22:30 +0200 <merijn> ah :D
2021-04-19 11:22:59 +0200forell(~forell@unaffiliated/forell)
2021-04-19 11:24:34 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 11:25:17 +0200 <gnumonic> https://github.com/gnumonik/refractor/blob/main/src/Control/Refractor/Refractor.hs (again that's kind of a mess / dunno how useful it'll be but it might communicate the idea)
2021-04-19 11:25:30 +0200 <tdammers> I've always rolled with "necessary" = "if this is not met, then the answer is definitely 'no'"; "sufficient" = "if this is met, then the answer is definitely 'yes'"; and in between the two, you have "maybe, maybe not"
2021-04-19 11:25:46 +0200 <gnumonic> The RMap thing is just a hacked-together ordered map that I made because I thought I wanted a Control.Lens.At instance and a regular OMap violates a lens law, or something
2021-04-19 11:27:56 +0200 <gnumonic> q is necessary for p = p -> q = ~q -> ~p (the latter seems more intuitive for some reason)
2021-04-19 11:32:18 +0200 <joel135> I am not seeing a ComonadStore instance anywhere.
2021-04-19 11:33:12 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 11:34:41 +0200 <gnumonic> Er crap I forgot I changed it to the GADT version that doesn't have one, oops. Nevermind :-(
2021-04-19 11:34:44 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-04-19 11:34:52 +0200heatsink_(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 11:35:03 +0200ddellacosta(~ddellacos@86.106.143.10)
2021-04-19 11:36:37 +0200 <joel135> ok
2021-04-19 11:39:12 +0200ddellacosta(~ddellacos@86.106.143.10) (Ping timeout: 240 seconds)
2021-04-19 11:39:21 +0200heatsink_(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2021-04-19 11:43:02 +0200vv8(~egp_@2.95.117.163)
2021-04-19 11:43:06 +0200todda7(~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds)
2021-04-19 11:43:11 +0200bennofs__(~quassel@x4db75e90.dyn.telefonica.de) (Ping timeout: 240 seconds)
2021-04-19 11:45:13 +0200DavidEichmann(~david@147.136.46.217.dyn.plus.net)
2021-04-19 11:46:55 +0200bennofs_(~quassel@x4db75e90.dyn.telefonica.de)
2021-04-19 11:52:53 +0200bennofs_(~quassel@x4db75e90.dyn.telefonica.de) (Ping timeout: 246 seconds)
2021-04-19 11:56:54 +0200malumore(~malumore@151.62.117.103)
2021-04-19 11:57:29 +0200 <jumper149> I just added GHC 9.0.1 to my CI and noticed some problem: https://travis-ci.com/github/jumper149/blucontrol/jobs/499336792#L486
2021-04-19 11:57:40 +0200 <jumper149> Are problems with the monad-control library expected?
2021-04-19 11:58:59 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c)
2021-04-19 12:02:56 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-19 12:03:23 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Ping timeout: 250 seconds)
2021-04-19 12:03:28 +0200todda7(~torstein@ppp-2-85-110-156.home.otenet.gr)
2021-04-19 12:03:33 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849)
2021-04-19 12:05:07 +0200slaterr(~bc8134e3@217.29.117.252)
2021-04-19 12:05:48 +0200guy25(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net)
2021-04-19 12:06:08 +0200 <slaterr> hi. I like to pass this page around to show the usefulness of monad abstraction, but taking a closer look, code in the list monad seems to be wrong? last expression in do block prints, instead of returning a list. https://philipnilsson.github.io/Badness10k/escaping-hell-with-monads/
2021-04-19 12:06:34 +0200 <slaterr> actually, all the examples print
2021-04-19 12:06:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-19 12:06:42 +0200 <slaterr> so the are all using IO monad :-O
2021-04-19 12:06:50 +0200 <guy25> I know this is a bit of an oxymoron, but can we ask general help questions here
2021-04-19 12:07:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 12:09:01 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Ping timeout: 250 seconds)
2021-04-19 12:09:37 +0200 <guy25> would anyone mind installing a package with cabal for me?
2021-04-19 12:10:04 +0200 <guy25> it keeps failing and I have a feeling it's not my end
2021-04-19 12:10:57 +0200philderbeast(~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
2021-04-19 12:11:40 +0200Rudd0(~Rudd0@185.189.115.108)
2021-04-19 12:12:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-19 12:13:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 12:13:44 +0200ddellacosta(~ddellacos@86.106.143.222)
2021-04-19 12:14:19 +0200guy25(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: Connection closed)
2021-04-19 12:15:34 +0200 <olligobber> what package? and they're gone
2021-04-19 12:15:53 +0200 <jumper149> slaterr: Yeah I think you are right with that one. Monad transformers can still provide the same thing with `lift print d` for example. The `ListT` monad transformer is a weird thing though. Better use a streaming library.
2021-04-19 12:17:21 +0200 <olligobber> if you replace print d with pure $ print d, and then put a fold at the start, it works
2021-04-19 12:17:52 +0200quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in)
2021-04-19 12:18:16 +0200 <olligobber> well, maybe not for all of them, but fold will do Maybe (IO ()) -> IO () and [IO ()] -> IO ()
2021-04-19 12:18:21 +0200ddellacosta(~ddellacos@86.106.143.222) (Ping timeout: 268 seconds)
2021-04-19 12:19:37 +0200 <olligobber> the state one has like runState or evalState or execState to get the return value out
2021-04-19 12:19:46 +0200 <olligobber> I don't know how continuations work
2021-04-19 12:20:22 +0200sdx32(~sdx23@unaffiliated/sdx23) (Ping timeout: 252 seconds)
2021-04-19 12:23:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-04-19 12:24:26 +0200 <slaterr> :t fold
2021-04-19 12:24:27 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-19 12:24:28 +0200 <lambdabot> (Foldable t, Monoid m) => t m -> m
2021-04-19 12:24:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 12:24:48 +0200 <olligobber> % fold [print 1, print 2, print 4]
2021-04-19 12:24:49 +0200 <yahb> olligobber: 1; 2; 4
2021-04-19 12:25:04 +0200 <olligobber> % fold Nothing :: IO ()
2021-04-19 12:25:04 +0200 <yahb> olligobber:
2021-04-19 12:25:14 +0200 <olligobber> % fold (Just (print 1))
2021-04-19 12:25:14 +0200 <yahb> olligobber: 1
2021-04-19 12:25:35 +0200 <slaterr> so it is like sequence_
2021-04-19 12:25:59 +0200 <olligobber> probably does the same thing actually
2021-04-19 12:26:13 +0200 <olligobber> :t sequence_
2021-04-19 12:26:14 +0200 <lambdabot> (Foldable t, Monad m) => t (m a) -> m ()
2021-04-19 12:26:24 +0200 <slaterr> just more general
2021-04-19 12:26:27 +0200Wo[m](lykos-2021@gateway/shell/matrix.org/x-tfamvfkpyyipdlgr)
2021-04-19 12:26:56 +0200 <olligobber> sequence_ is for monads, fold is for monoids, IO () is both
2021-04-19 12:28:56 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-04-19 12:29:17 +0200usr25(~usr25@unaffiliated/usr25)
2021-04-19 12:29:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-04-19 12:30:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 12:31:04 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-19 12:36:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-04-19 12:36:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 12:36:42 +0200dyeplexer(~lol@unaffiliated/terpin)
2021-04-19 12:39:46 +0200plutoniix(~q@184.82.212.134) (Ping timeout: 240 seconds)
2021-04-19 12:41:10 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-19 12:42:36 +0200Sorny(~Sornaensi@077213200034.dynamic.telenor.dk)
2021-04-19 12:43:42 +0200idhugo__(~idhugo@130.225.16.16) (Read error: Connection reset by peer)
2021-04-19 12:45:07 +0200nineonine(~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a)
2021-04-19 12:45:20 +0200idhugo__(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
2021-04-19 12:46:04 +0200Sorna(~Sornaensi@79.142.232.102) (Ping timeout: 252 seconds)
2021-04-19 12:46:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-04-19 12:47:45 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 12:48:21 +0200ddellacosta(~ddellacos@83.143.246.110)
2021-04-19 12:49:34 +0200nineonine(~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) (Ping timeout: 245 seconds)
2021-04-19 12:50:40 +0200thblt(~thblt@unaffiliated/thblt)
2021-04-19 12:50:54 +0200thblt(~thblt@unaffiliated/thblt) ("ERC (IRC client for Emacs 28.0.50)")
2021-04-19 12:52:25 +0200zebrag(~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr)
2021-04-19 12:52:44 +0200ddellacosta(~ddellacos@83.143.246.110) (Ping timeout: 246 seconds)
2021-04-19 12:52:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-19 12:53:10 +0200zebrag(~inkbottle@aaubervilliers-654-1-107-209.w86-212.abo.wanadoo.fr) (Client Quit)
2021-04-19 12:53:12 +0200__monty__(~toonn@unaffiliated/toonn)
2021-04-19 12:53:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 13:01:48 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43)
2021-04-19 13:08:59 +0200HannaM(~quassel@p54849510.dip0.t-ipconnect.de)
2021-04-19 13:13:55 +0200aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-04-19 13:14:41 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-19 13:14:42 +0200ashesham`(~user@d8d87d1b0.access.telenet.be)
2021-04-19 13:16:19 +0200asheshambasta(~user@ptr-e1lysawvmwijg2oywyl.18120a2.ip6.access.telenet.be) (Ping timeout: 260 seconds)
2021-04-19 13:18:44 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-04-19 13:22:06 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43) (Ping timeout: 240 seconds)
2021-04-19 13:24:41 +0200Guest81955(b3d906da@179.217.6.218)
2021-04-19 13:25:43 +0200Guest81955(b3d906da@179.217.6.218) (Client Quit)
2021-04-19 13:25:46 +0200raichoo(~raichoo@dslb-178-009-065-077.178.009.pools.vodafone-ip.de)
2021-04-19 13:26:06 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 13:26:12 +0200puke(~vroom@217.138.252.184)
2021-04-19 13:29:04 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43)
2021-04-19 13:30:26 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-19 13:31:08 +0200Sornaensis(~Sornaensi@79.142.232.102.static.router4.bolignet.dk)
2021-04-19 13:31:18 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c)
2021-04-19 13:33:41 +0200Sorny(~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 240 seconds)
2021-04-19 13:36:43 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 13:36:48 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 13:38:57 +0200aveltras(uid364989@gateway/web/irccloud.com/x-muzwlbtiuimflysf)
2021-04-19 13:39:24 +0200CiaoSen(~Jura@p200300c9574e1e00229f455a1e4eecce.dip0.t-ipconnect.de)
2021-04-19 13:40:59 +0200todda7(~torstein@ppp-2-85-110-156.home.otenet.gr) (Ping timeout: 268 seconds)
2021-04-19 13:41:13 +0200chele_(~chele@5.53.222.202)
2021-04-19 13:41:27 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-04-19 13:42:46 +0200chele(~chele@5.53.222.202) (Disconnected by services)
2021-04-19 13:42:50 +0200chele_chele
2021-04-19 13:44:51 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-04-19 13:48:01 +0200bb010g(uid21050@gateway/web/irccloud.com/x-onrynoluckjwobrc) (Quit: Connection closed for inactivity)
2021-04-19 13:51:33 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-04-19 13:53:58 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c)
2021-04-19 13:54:14 +0200vv8(~egp_@2.95.117.163) (Quit: EXIT)
2021-04-19 13:54:36 +0200vv8(~egp_@2.95.117.163)
2021-04-19 13:54:52 +0200Alleria(~textual@mskresolve-a.mskcc.org)
2021-04-19 13:55:15 +0200AlleriaGuest70321
2021-04-19 13:56:38 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-19 14:00:42 +0200ddellacosta(~ddellacos@86.106.143.248)
2021-04-19 14:01:49 +0200urodna(~urodna@unaffiliated/urodna)
2021-04-19 14:02:48 +0200usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-04-19 14:04:36 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-04-19 14:04:42 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Quit: Konversation terminated!)
2021-04-19 14:04:50 +0200ddellacosta(~ddellacos@86.106.143.248) (Ping timeout: 246 seconds)
2021-04-19 14:05:02 +0200dyeplexer(~lol@unaffiliated/terpin) (Ping timeout: 268 seconds)
2021-04-19 14:05:35 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Ping timeout: 250 seconds)
2021-04-19 14:07:07 +0200dmytrish(~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9)
2021-04-19 14:08:20 +0200todda7(~torstein@athedsl-4519432.home.otenet.gr)
2021-04-19 14:11:59 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-04-19 14:13:59 +0200MrMobius(~MrMobius@208.58.206.154) (Read error: Connection reset by peer)
2021-04-19 14:14:51 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se)
2021-04-19 14:15:01 +0200MrMobius(~MrMobius@208.58.206.154)
2021-04-19 14:15:13 +0200 <infinisil> :t sequenceA
2021-04-19 14:15:15 +0200 <lambdabot> (Traversable t, Applicative f) => t (f a) -> f (t a)
2021-04-19 14:15:35 +0200malumore_(~malumore@151.62.117.103)
2021-04-19 14:16:19 +0200ericsagnes(~ericsagne@2405:6580:0:5100:f72c:ebd9:1857:d75c) (Ping timeout: 248 seconds)
2021-04-19 14:18:25 +0200malumore(~malumore@151.62.117.103) (Ping timeout: 260 seconds)
2021-04-19 14:19:32 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds)
2021-04-19 14:20:37 +0200knupfer(~Thunderbi@200116b82b68a200a5742d391fae1c41.dip.versatel-1u1.de)
2021-04-19 14:21:39 +0200CiaoSen(~Jura@p200300c9574e1e00229f455a1e4eecce.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-04-19 14:23:22 +0200CiaoSen(~Jura@p5dcc163c.dip0.t-ipconnect.de)
2021-04-19 14:24:02 +0200rodriga(~quassel@134.204.25.66)
2021-04-19 14:27:03 +0200drbean_(~drbean@TC210-63-209-146.static.apol.com.tw)
2021-04-19 14:27:18 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-04-19 14:28:28 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-19 14:28:39 +0200ericsagnes(~ericsagne@2405:6580:0:5100:7417:4794:7820:3adc)
2021-04-19 14:30:34 +0200aVikingTrex(~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 276 seconds)
2021-04-19 14:30:57 +0200ddellacosta(~ddellacos@86.106.143.40)
2021-04-19 14:33:02 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se) (Read error: Connection reset by peer)
2021-04-19 14:33:14 +0200adiosf6f[m](adiosf6fma@gateway/shell/matrix.org/x-sxrfngbhrelkblkw)
2021-04-19 14:33:23 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se)
2021-04-19 14:33:54 +0200adiosf6f[m](adiosf6fma@gateway/shell/matrix.org/x-sxrfngbhrelkblkw) ("User left")
2021-04-19 14:34:32 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection)
2021-04-19 14:34:47 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se)
2021-04-19 14:37:29 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 14:38:36 +0200slaterr(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (EOF))
2021-04-19 14:41:20 +0200knupfer(~Thunderbi@200116b82b68a200a5742d391fae1c41.dip.versatel-1u1.de) (Remote host closed the connection)
2021-04-19 14:41:46 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-04-19 14:41:59 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-uwdxggeqquhliznf)
2021-04-19 14:42:33 +0200knupfer(~Thunderbi@200116b82b68a2004db076fcee496007.dip.versatel-1u1.de)
2021-04-19 14:46:06 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-19 14:47:50 +0200jakalx(~jakalx@base.jakalx.net)
2021-04-19 14:51:33 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43) (Ping timeout: 260 seconds)
2021-04-19 14:53:21 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-19 14:53:26 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds)
2021-04-19 14:53:51 +0200alx741(~alx741@186.178.109.113)
2021-04-19 14:58:26 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43)
2021-04-19 14:58:39 +0200Tario(~Tario@201.192.165.173)
2021-04-19 14:59:05 +0200alx741(~alx741@186.178.109.113) (Ping timeout: 246 seconds)
2021-04-19 15:00:49 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 252 seconds)
2021-04-19 15:03:01 +0200Tario(~Tario@201.192.165.173) (Ping timeout: 252 seconds)
2021-04-19 15:03:49 +0200Tario(~Tario@201.192.165.173)
2021-04-19 15:05:04 +0200shailangsa(~shailangs@host86-185-98-61.range86-185.btcentralplus.com) (Ping timeout: 265 seconds)
2021-04-19 15:07:44 +0200fiedlr(~fiedlr@83.148.33.254) (Remote host closed the connection)
2021-04-19 15:07:49 +0200son0p(~ff@181.136.122.143)
2021-04-19 15:08:03 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 15:11:41 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c)
2021-04-19 15:11:42 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-19 15:12:07 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection)
2021-04-19 15:12:38 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-19 15:14:02 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection)
2021-04-19 15:14:15 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se)
2021-04-19 15:15:46 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 240 seconds)
2021-04-19 15:16:09 +0200ddellac__(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 15:16:54 +0200idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-04-19 15:17:50 +0200waleee-cl(uid373333@gateway/web/irccloud.com/x-pqcbjjfbbjmsxwwn)
2021-04-19 15:18:11 +0200bor0(~boro@unaffiliated/boro/x-000000001)
2021-04-19 15:18:56 +0200loller_(uid358106@gateway/web/irccloud.com/x-uyikepdymdnjzedf) (Quit: Connection closed for inactivity)
2021-04-19 15:19:32 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection)
2021-04-19 15:19:34 +0200idhugo__(~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-04-19 15:19:44 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se)
2021-04-19 15:21:02 +0200wmacmil(~wmacmil@c83-248-72-252.bredband.comhem.se) (Remote host closed the connection)
2021-04-19 15:21:46 +0200Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2021-04-19 15:22:59 +0200ddellac__(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-19 15:25:14 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-04-19 15:28:43 +0200ddellac__(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 15:33:37 +0200carlomagno(~cararell@148.87.23.8)
2021-04-19 15:34:22 +0200ddellacosta(~ddellacos@86.106.143.40) (Ping timeout: 252 seconds)
2021-04-19 15:38:05 +0200ddellac__(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-19 15:38:06 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 15:40:05 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43) (Ping timeout: 260 seconds)
2021-04-19 15:41:22 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 15:42:12 +0200alx741(~alx741@186.178.109.113)
2021-04-19 15:42:31 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-04-19 15:44:01 +0200drbean_(~drbean@TC210-63-209-146.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-19 15:44:38 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-19 15:45:54 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-19 15:47:17 +0200barzo(~sosal@159.146.53.142)
2021-04-19 15:49:36 +0200ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 15:54:26 +0200bor0(~boro@unaffiliated/boro/x-000000001) (Quit: Leaving)
2021-04-19 15:55:58 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds)
2021-04-19 15:57:39 +0200 <lechner> Hi, is it now possible to build multiple executables in a stack project? How? Thanks!
2021-04-19 15:58:12 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 15:58:17 +0200wonko7(~wonko7@62.115.229.50) (Ping timeout: 260 seconds)
2021-04-19 15:58:43 +0200dmytrish(~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9) (Ping timeout: 260 seconds)
2021-04-19 15:59:21 +0200wonko7(~wonko7@62.115.229.50)
2021-04-19 16:00:33 +0200Jd007(~Jd007@162.156.11.151)
2021-04-19 16:01:29 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube)
2021-04-19 16:02:05 +0200ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 16:04:11 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2021-04-19 16:06:21 +0200johannes_(~johannes@mue-88-130-62-032.dsl.tropolys.de) (Quit: leaving)
2021-04-19 16:06:46 +0200 <raehik> I want to contact the Hackage maintainers regarding a pkg issue, is this wiki page up to date? https://wiki.haskell.org/Taking_over_a_package
2021-04-19 16:07:06 +0200ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-04-19 16:07:27 +0200 <raehik> last update from 2015, and the hackage.haskell.org email doesn't match with other contact I've had with the maintainers
2021-04-19 16:07:53 +0200jess(jess@freenode/staff/jess) (Ping timeout: 622 seconds)
2021-04-19 16:14:35 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
2021-04-19 16:14:54 +0200unyu(~pyon@unaffiliated/pyon) (Quit: Reboot.)
2021-04-19 16:16:40 +0200unyu(~pyon@unaffiliated/pyon)
2021-04-19 16:18:38 +0200aveltras(uid364989@gateway/web/irccloud.com/x-muzwlbtiuimflysf) (Quit: Connection closed for inactivity)
2021-04-19 16:19:44 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-04-19 16:23:42 +0200shailangsa(~shailangs@host86-186-132-20.range86-186.btcentralplus.com)
2021-04-19 16:24:27 +0200 <edwardk> raehik: usually i'd start with an email to the libraries@ mailing list to see if the author will respond, then gradually escalate rather than dive straight into emailing the trustees
2021-04-19 16:25:30 +0200 <raehik> edwardk: Thanks. It's a bit of a specific problem, the pkg seems to have orphaned itself. I work with the maintainer, they somehow have lost their upload rights and we can't find anyone who can upload
2021-04-19 16:25:40 +0200 <merijn> edwardk: admins and trustees are different, trustees can't take over anything anyhow :p
2021-04-19 16:26:04 +0200 <merijn> raehik: Then the maintainer should just mail hackage admins
2021-04-19 16:26:27 +0200 <merijn> They should be able to see what happened, who (if anyone) has upload rights and/or restore rights
2021-04-19 16:26:28 +0200 <raehik> I ended up emailing the trustees and that admin email on the wiki
2021-04-19 16:26:33 +0200 <edwardk> merijn: indeed
2021-04-19 16:26:54 +0200 <merijn> raehik: trustees can't do anything besides publish revisions (i.e. new bounds)
2021-04-19 16:26:56 +0200 <edwardk> raehik: then in that case yeah, contacting the admins off that link looks to be the right way to fix it
2021-04-19 16:27:19 +0200 <raehik> right thanks merijn and edwardk -- was mostly curious if that email was correct. doesn't match the other Hackage ones
2021-04-19 16:27:41 +0200 <edwardk> raehik my understanding is it hasn't changed. if it doesn't get through you can always ping tapas here
2021-04-19 16:27:49 +0200 <edwardk> and try to get things rolling another way
2021-04-19 16:29:06 +0200 <raehik> Fab, I'll wait a while and keep that in mind. Cheers for the help
2021-04-19 16:30:22 +0200ClaudiusMaximus(~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net)
2021-04-19 16:30:40 +0200ClaudiusMaximus(~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host)
2021-04-19 16:30:40 +0200ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-04-19 16:31:17 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-04-19 16:33:32 +0200ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-19 16:33:35 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Remote host closed the connection)
2021-04-19 16:33:41 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-19 16:35:47 +0200viluon(uid453725@gateway/web/irccloud.com/x-ftnuqxhuphmmdyvk)
2021-04-19 16:35:49 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-19 16:36:45 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-19 16:38:08 +0200davidfetter1(~davidfett@195.140.213.38) (Remote host closed the connection)
2021-04-19 16:38:08 +0200ddellac__(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-04-19 16:38:32 +0200ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-19 16:38:49 +0200zariuq(~zar@fw1.ciirc.cvut.cz) (Quit: Leaving)
2021-04-19 16:41:36 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 16:43:46 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 16:46:38 +0200nineonine(~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a)
2021-04-19 16:47:00 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-19 16:48:13 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2021-04-19 16:49:34 +0200ep1ctetus(~epictetus@ip72-194-54-201.sb.sd.cox.net)
2021-04-19 16:50:52 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-fxkopagyhurwlxby)
2021-04-19 16:51:03 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-04-19 16:51:42 +0200enoq(~textual@194-208-146-143.lampert.tv) (Quit: Textual IRC Client: www.textualapp.com)
2021-04-19 16:51:59 +0200nineonine(~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) (Ping timeout: 250 seconds)
2021-04-19 16:53:05 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 16:53:14 +0200hexfive(~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
2021-04-19 16:53:15 +0200p3n(~p3n@217.198.124.246)
2021-04-19 16:54:07 +0200Barras2(~Barras2@139.28.218.148)
2021-04-19 16:56:44 +0200dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-tozcupusvmlxhyii)
2021-04-19 16:57:57 +0200jao(~jao@pdpc/supporter/professional/jao)
2021-04-19 16:57:58 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 252 seconds)
2021-04-19 16:59:52 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-19 17:00:05 +0200jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-04-19 17:00:34 +0200danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-04-19 17:00:45 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 17:04:52 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds)
2021-04-19 17:06:11 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-19 17:06:46 +0200hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:32e1:d1a7:8b3e:afc2)
2021-04-19 17:07:04 +0200barakkleyman_(~barakkley@2.55.141.207)
2021-04-19 17:09:43 +0200ddellacosta(~ddellacos@86.106.143.183)
2021-04-19 17:10:15 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-19 17:10:48 +0200xsperry(~as@unaffiliated/xsperry) ()
2021-04-19 17:14:26 +0200ddellacosta(~ddellacos@86.106.143.183) (Ping timeout: 252 seconds)
2021-04-19 17:19:09 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 17:19:17 +0200ashesham`(~user@d8d87d1b0.access.telenet.be) (Ping timeout: 268 seconds)
2021-04-19 17:23:38 +0200CiaoSen(~Jura@p5dcc163c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2021-04-19 17:24:28 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 17:24:45 +0200idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-04-19 17:27:28 +0200dyeplexer(~lol@unaffiliated/terpin)
2021-04-19 17:29:38 +0200ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 17:29:42 +0200ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Read error: Connection reset by peer)
2021-04-19 17:29:56 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 17:30:51 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-04-19 17:32:51 +0200barakkleyman_(~barakkley@2.55.141.207) (Ping timeout: 268 seconds)
2021-04-19 17:37:59 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 17:40:35 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube)
2021-04-19 17:40:44 +0200barakkl1993(~barakkley@2.55.141.207)
2021-04-19 17:43:50 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer)
2021-04-19 17:45:37 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-19 17:46:49 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-19 17:49:01 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 17:50:22 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 265 seconds)
2021-04-19 17:50:41 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 240 seconds)
2021-04-19 17:50:51 +0200pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-04-19 17:51:09 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-04-19 17:51:27 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be)
2021-04-19 17:51:56 +0200nineonine(~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a)
2021-04-19 17:52:06 +0200xsperry(~as@unaffiliated/xsperry)
2021-04-19 17:52:39 +0200mctpyt(~mctpyt@unaffiliated/mctpyt)
2021-04-19 17:52:39 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 17:52:50 +0200nineonine(~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a) (Remote host closed the connection)
2021-04-19 17:53:04 +0200nineonine(~nineonine@2604:3d08:7785:9600:e0d9:4197:14e4:81a)
2021-04-19 17:54:54 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-04-19 17:55:13 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-04-19 17:56:07 +0200cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 250 seconds)
2021-04-19 17:57:28 +0200ADG1089(~aditya@223.236.174.241)
2021-04-19 17:57:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-19 17:58:05 +0200kenanmarasli(1fdf0934@31.223.9.52)
2021-04-19 17:58:11 +0200 <ADG1089> where can i read up on how to write comments to functions, guards, chained calls, etc.? I have been only using "-- comments" and "{- comment -}" till now
2021-04-19 17:58:24 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube)
2021-04-19 17:58:34 +0200 <monochrom> That is all.
2021-04-19 17:59:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-19 17:59:30 +0200 <ADG1089> there is ^-- |-- $-- like comments that I've seen
2021-04-19 17:59:40 +0200 <monochrom> Those are for haddock.
2021-04-19 17:59:43 +0200 <ski> @where Haddock
2021-04-19 17:59:43 +0200 <lambdabot> http://www.haskell.org/haddock/
2021-04-19 17:59:55 +0200 <monochrom> And still none for guards or chained calls.
2021-04-19 18:00:24 +0200Rudd0(~Rudd0@185.189.115.108)
2021-04-19 18:01:16 +0200 <monochrom> And still within the framework of -- and {- -}
2021-04-19 18:01:17 +0200 <ski> (there's also `{-# ... #-}' for pragmas)
2021-04-19 18:01:28 +0200 <maerwald> I wish there was a way to import haddock from another module
2021-04-19 18:02:34 +0200 <maerwald> hugely annoying if you have wrapping APIs
2021-04-19 18:02:45 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-19 18:03:08 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 18:03:27 +0200 <c_wraith> there is, to some extent.
2021-04-19 18:03:57 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 18:04:02 +0200 <monochrom> There is. I forgot how. But when you see, for example, some module's doc reciting part or even all of Control.Exception's doc, this is it.
2021-04-19 18:04:18 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-19 18:04:26 +0200 <monochrom> Something about re-exporting.
2021-04-19 18:04:28 +0200 <c_wraith> you can tell haddock that a particular module isn't the documentation home for things it defines. So they get documented in other modules that export them.
2021-04-19 18:04:45 +0200 <c_wraith> It's limited in granularity, but it serves that purpose
2021-04-19 18:05:02 +0200pengjiz(~user@2601:547:902:6d00::2)
2021-04-19 18:06:05 +0200 <c_wraith> Checking one of my packages that uses it... Looks like {-# OPTIONS_HADDOCK not-home #-}
2021-04-19 18:06:07 +0200ericsagnes(~ericsagne@2405:6580:0:5100:7417:4794:7820:3adc) (Ping timeout: 260 seconds)
2021-04-19 18:06:09 +0200 <monochrom> And for example Control.Monad.Writer.Lazy (package mtl) reciting stuff from Control.Monad.Trans.Writer.Lazy (package transformers)
2021-04-19 18:07:26 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer)
2021-04-19 18:08:23 +0200Hanma[m](hanmamatri@gateway/shell/matrix.org/x-ktsmcyuxlppyzjzb)
2021-04-19 18:09:23 +0200cfricke(cfricke@gateway/vpn/mullvad/cfricke)
2021-04-19 18:09:40 +0200dolio(~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in)
2021-04-19 18:11:23 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 18:12:33 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be)
2021-04-19 18:14:25 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 252 seconds)
2021-04-19 18:14:34 +0200dolio(~dolio@haskell/developer/dolio)
2021-04-19 18:14:44 +0200cfricke(cfricke@gateway/vpn/mullvad/cfricke) (Ping timeout: 246 seconds)
2021-04-19 18:15:52 +0200barakkl1993(~barakkley@2.55.141.207) (Ping timeout: 240 seconds)
2021-04-19 18:17:54 +0200cohn(~noone@unaffiliated/cohn) ()
2021-04-19 18:18:37 +0200ericsagnes(~ericsagne@2405:6580:0:5100:82c:fa7c:5833:ee7a)
2021-04-19 18:20:43 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 18:21:05 +0200barakkl1993(~barakkley@2.55.190.28)
2021-04-19 18:21:32 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer)
2021-04-19 18:23:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 18:26:16 +0200cohn(~noone@unaffiliated/cohn)
2021-04-19 18:27:28 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43)
2021-04-19 18:28:08 +0200cfricke(~cfricke@unaffiliated/cfricke)
2021-04-19 18:28:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-19 18:28:54 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 18:29:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 18:30:20 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-19 18:30:46 +0200v01d4lph4(~v01d4lph4@27.57.103.213)
2021-04-19 18:32:45 +0200KaeipiKaiepi
2021-04-19 18:32:46 +0200kritzefitz(~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
2021-04-19 18:33:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-19 18:34:21 +0200morkessa(~kelsey@096-033-168-208.res.spectrum.com)
2021-04-19 18:34:58 +0200jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 276 seconds)
2021-04-19 18:35:19 +0200v01d4lph4(~v01d4lph4@27.57.103.213) (Ping timeout: 265 seconds)
2021-04-19 18:35:46 +0200mctpyt(~mctpyt@unaffiliated/mctpyt) (Ping timeout: 240 seconds)
2021-04-19 18:37:34 +0200basenode(~user@gateway/tor-sasl/basenode)
2021-04-19 18:37:39 +0200 <basenode> hello?
2021-04-19 18:37:42 +0200acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-04-19 18:37:42 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-04-19 18:38:02 +0200mctpyt(~mctpyt@unaffiliated/mctpyt)
2021-04-19 18:38:20 +0200 <sm[m]> hello
2021-04-19 18:39:15 +0200hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:32e1:d1a7:8b3e:afc2) (Ping timeout: 260 seconds)
2021-04-19 18:39:19 +0200 <basenode> hi, i have a quick question: is it possible to convert a (previously nested) flattened (ordered) list to a nested structure with O(n) complexity recursively?
2021-04-19 18:41:19 +0200 <basenode> i.e. [{id: 1, parent_id: nil}, {id: 2, parent_id: 1}, {id: 3: parent_id: nil}] to [{id: 1, children: [{id: 2}]}, {id: 2, children: []}]
2021-04-19 18:41:55 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43) (Ping timeout: 252 seconds)
2021-04-19 18:42:19 +0200 <sm[m]> I don't know if this will help, but did you know it's possible to have a flat list that is also a nested tree ?
2021-04-19 18:42:53 +0200morkessa(~kelsey@096-033-168-208.res.spectrum.com) ()
2021-04-19 18:43:20 +0200 <sm[m]> sorry, I don't know the answer to your q
2021-04-19 18:43:57 +0200 <basenode> sm[m]: no problem, thanks anyway
2021-04-19 18:43:58 +0200 <sm[m]> but I'll guess yes
2021-04-19 18:44:11 +0200 <basenode> i feel like its yes too, but i just don't know how to do it
2021-04-19 18:45:30 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 18:47:17 +0200gitgood(~gitgood@80-44-9-246.dynamic.dsl.as9105.com)
2021-04-19 18:47:37 +0200 <sm[m]> maybe https://hackage.haskell.org/package/hledger-lib-1.21/docs/src/Hledger.Utils.Tree.html gives ideas
2021-04-19 18:48:04 +0200 <wroathe> basenode: It would be O(n) for iterating the source array, but inserting into the target tree will likely require an O(log(n)) lookup
2021-04-19 18:48:08 +0200geiger_(~geiger@90.212.77.86)
2021-04-19 18:48:21 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 18:48:36 +0200howdoi(uid224@gateway/web/irccloud.com/x-pwqigqguzpkhpeqf)
2021-04-19 18:49:18 +0200mctpyt(~mctpyt@unaffiliated/mctpyt) (Quit: WeeChat 3.1)
2021-04-19 18:49:33 +0200 <wroathe> basenode: You'll be looking up nodes by parent id in the target tree
2021-04-19 18:50:13 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-19 18:50:56 +0200idhugo_(~idhugo@87.49.147.45)
2021-04-19 18:51:25 +0200geiger(~geiger@90.212.77.86) (Ping timeout: 260 seconds)
2021-04-19 18:51:58 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 18:52:27 +0200Techcable(~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
2021-04-19 18:55:09 +0200Techcable(~Techcable@168.235.93.147)
2021-04-19 18:55:43 +0200 <basenode> wroathe: ah ok, i thought i might be able to iterate over each element only once
2021-04-19 18:56:08 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43)
2021-04-19 18:56:51 +0200 <wroathe> basenode: Oh, I missed the detail where you said they were sorted
2021-04-19 18:56:58 +0200 <wroathe> basenode: If they're sorted you can
2021-04-19 18:57:01 +0200 <basenode> ah
2021-04-19 18:57:16 +0200 <basenode> yeah that's quite an important detail i think ;)
2021-04-19 18:57:46 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-04-19 19:03:18 +0200 <basenode> wroathe: any idea what the general algorithm for this would look like?
2021-04-19 19:04:32 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 19:07:22 +0200unlink_(~unlink2@p57b8541f.dip0.t-ipconnect.de)
2021-04-19 19:08:13 +0200unlink2(~unlink2@p57b853bf.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-04-19 19:08:55 +0200ADG1089(~aditya@223.236.174.241) (Quit: Konversation terminated!)
2021-04-19 19:09:06 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
2021-04-19 19:10:26 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 19:11:32 +0200 <wroathe> basenode: The basic idea is just to leverage the call stack to store a reference to the current parent node and to iterate while the child's parent id matches the current parent
2021-04-19 19:13:20 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-04-19 19:14:30 +0200kenanmarasli(1fdf0934@31.223.9.52) (Quit: Connection closed)
2021-04-19 19:15:20 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-19 19:16:58 +0200 <basenode> wroathe: been trying to do that for the last few hours to not much success :P
2021-04-19 19:17:13 +0200idhugo_(~idhugo@87.49.147.45) (Ping timeout: 240 seconds)
2021-04-19 19:17:19 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection)
2021-04-19 19:17:52 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-19 19:18:13 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258)
2021-04-19 19:18:16 +0200 <wroathe> uno momento
2021-04-19 19:19:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 19:20:19 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection)
2021-04-19 19:20:47 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-19 19:21:52 +0200 <basenode> sure
2021-04-19 19:22:18 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Max SendQ exceeded)
2021-04-19 19:22:39 +0200 <basenode> im wondering, i was initially using 2 parameters in my recursion function, initial and final (where initial is the flat array, and final the nestd array)
2021-04-19 19:22:56 +0200 <basenode> but maybe i need a 3 parameter to keep track of a particular tree?
2021-04-19 19:23:17 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be)
2021-04-19 19:23:28 +0200 <barakkl1993> hey, I just can't see how to change this list comprehension to map and filter, [x | x <- [1..],x % 3 == 0|| x % 5 == 0, x < 1000]
2021-04-19 19:24:11 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-19 19:24:33 +0200rajivr(uid269651@gateway/web/irccloud.com/x-ozfaqobeqdbxwvmv) (Quit: Connection closed for inactivity)
2021-04-19 19:24:42 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Max SendQ exceeded)
2021-04-19 19:25:23 +0200xff0x(~xff0x@2001:1a81:52f2:b700:a7c9:31ec:b9a1:9e16) (Ping timeout: 250 seconds)
2021-04-19 19:26:14 +0200xff0x(~xff0x@2001:1a81:52f2:b700:d92:ea7f:92b1:dda)
2021-04-19 19:27:49 +0200barakkl1993(~barakkley@2.55.190.28) (Ping timeout: 260 seconds)
2021-04-19 19:30:53 +0200barzo(~sosal@159.146.53.142) (Read error: Connection reset by peer)
2021-04-19 19:31:09 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 19:33:32 +0200ski. o O ( "ParentTree.hs" <https://paste.tomsmeding.com/7DyPxjR6> )
2021-04-19 19:36:08 +0200 <wroathe> basenode: Yeah, use ski's link. I'm too distracted by this Chauvin trial to be any use.
2021-04-19 19:36:12 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 19:36:15 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal)
2021-04-19 19:36:28 +0200 <tomsmeding> n log n though
2021-04-19 19:37:35 +0200 <tomsmeding> basenode: are you fine with ST and mutable vectors? :p
2021-04-19 19:37:35 +0200 <ski> you could use an array/vector, and map over it
2021-04-19 19:38:01 +0200 <ski> (assuming you can use your IDs as indices)
2021-04-19 19:39:28 +0200skiidly notes that the paste on the page doesn't display the form feed
2021-04-19 19:39:36 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 265 seconds)
2021-04-19 19:40:02 +0200 <tomsmeding> ski: the form feed is there in the html, your browser just doesn't do anything with it :p
2021-04-19 19:40:13 +0200 <tomsmeding> in fact I'm not sure what it _should_ do
2021-04-19 19:40:27 +0200 <ski> yea, i noticed it in the raw form
2021-04-19 19:40:43 +0200 <ski> i'm not sure if it should do anything special, either .. just noticed it
2021-04-19 19:41:04 +0200 <tomsmeding> where did the form feed come from
2021-04-19 19:41:15 +0200 <ski> i entered it into the source, as a section separation
2021-04-19 19:41:58 +0200 <ski> (you can navigate to previous/next page, in Emacs, using `C-x [' / `C-x ]')
2021-04-19 19:43:40 +0200 <ski> (i tend to sometimes enter those, trying to keep pages under sixtysix lines, per the suggestion under `*** Pagination' at Riastradh's <https://mumble.net/~campbell/scheme/style.txt>)
2021-04-19 19:44:10 +0200 <unyu> ski: `C-x [` seems to go to the top of the buffer, not just the previous page.
2021-04-19 19:44:22 +0200 <ski> if you're already on the first page, sure
2021-04-19 19:44:48 +0200 <unyu> I'm nowhere near the first page on this very buffer.
2021-04-19 19:45:11 +0200Geekingfrog(geekingfro@2a01:7e01::f03c:92ff:fe48:8bdf) (Quit: ZNC 1.8.2 - https://znc.in)
2021-04-19 19:45:20 +0200 <ski> `C-x [' is bound to `backward-page', here. perhaps you have some other binding
2021-04-19 19:45:32 +0200 <ski> (and `C-x ]' to `forward-page')
2021-04-19 19:45:35 +0200 <unyu> Ah...
2021-04-19 19:45:59 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
2021-04-19 19:46:38 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-19 19:47:00 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-19 19:48:49 +0200Geekingfrog(~geekingfr@li2156-64.members.linode.com)
2021-04-19 19:51:07 +0200jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-04-19 19:51:34 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 19:51:51 +0200rond_(5940206b@89-64-32-107.dynamic.chello.pl)
2021-04-19 19:52:31 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 19:52:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-19 20:00:16 +0200MrFantastik(~user@rrcs-184-74-43-235.nys.biz.rr.com)
2021-04-19 20:00:53 +0200safinaskar(~user@109.252.90.136)
2021-04-19 20:01:03 +0200 <MrFantastik> is it possible to explain a monad to someone who has never programmed in haskell and doesn't know category theory?
2021-04-19 20:01:12 +0200 <Rembane> MrFantastik: Yes!
2021-04-19 20:01:31 +0200 <safinaskar> monochrom: Axman6: hi. you said yesterday that SPJ uses {}, show me some code, please :)
2021-04-19 20:01:44 +0200 <tomsmeding> MrFantastik: by teaching them haskell :p
2021-04-19 20:01:46 +0200 <MrFantastik> how would that go? that person is me lol
2021-04-19 20:01:56 +0200 <MrFantastik> lmao
2021-04-19 20:02:29 +0200 <MrFantastik> https://i.kym-cdn.com/entries/icons/original/000/011/656/sophiscated_cat.PNG
2021-04-19 20:02:29 +0200 <monochrom> line 1: "do {". line 2: align with the "{" above, "; s <- getLine"
2021-04-19 20:02:31 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-04-19 20:02:35 +0200 <MrFantastik> i should learn haskell
2021-04-19 20:02:37 +0200 <tomsmeding> I learned monads by playing around with them in haskell, and I believe for someone without a very strong mathematical background, that's the best way
2021-04-19 20:03:11 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 20:03:19 +0200fiedlr(~fiedlr@83.148.33.254) (Ping timeout: 268 seconds)
2021-04-19 20:03:40 +0200 <monochrom> err actuall no
2021-04-19 20:04:05 +0200 <tomsmeding> I'd say the first statement is before the first ;
2021-04-19 20:04:12 +0200 <monochrom> line 1: "do { s <- getLine". line 2: align with the "{" above, "; putStrLn s".
2021-04-19 20:04:18 +0200vicfred(~vicfred@unaffiliated/vicfred)
2021-04-19 20:04:22 +0200 <tomsmeding> beautiful
2021-04-19 20:05:01 +0200 <monochrom> And at the end, "}" on its own line, aligning with that column of "{" and ";"s
2021-04-19 20:05:44 +0200 <Cale> MrFantastik: I suppose I could try -- are you familiar with parametric data types? The most common example would be things like container data types which have a parameter for which type of elements they'd have.
2021-04-19 20:06:17 +0200 <yushyin> safinaskar: just look at some commit from spj?
2021-04-19 20:06:28 +0200 <yushyin> safinaskar: https://gitlab.haskell.org/ghc/ghc/-/commit/c71b220491a6ae46924cc5011b80182bcc773a58 https://gitlab.haskell.org/ghc/ghc/-/commit/0a8c14bd5a5438b1d042ad279b8ffff1bc867e7e
2021-04-19 20:07:38 +0200 <Cale> MrFantastik: I will also say, it's probably not very useful to know much about the monad abstraction if you're not programming in a language that makes it usable. If at the end of the day, you can't really write code which would work in an arbitrary monad, then the abstraction buys you very little.
2021-04-19 20:08:19 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 248 seconds)
2021-04-19 20:08:24 +0200 <basenode> tomsmeding: not really honestly, i don't really know any haskell
2021-04-19 20:08:37 +0200 <MrFantastik> Cale I'm reading https://en.wikipedia.org/wiki/Parametric_polymorphism in regards to the parameteric data types
2021-04-19 20:08:52 +0200 <MrFantastik> your second comment is reassuring
2021-04-19 20:08:58 +0200 <tomsmeding> basenode: I'm trying to make a fully linear version, but it involves a mutable vector somewhere :p
2021-04-19 20:09:00 +0200 <MrFantastik> monads give me a weird sense of fomo
2021-04-19 20:09:07 +0200 <tomsmeding> not sure you can do without if you won't accept n log n
2021-04-19 20:09:17 +0200 <basenode> tomsmeding: as in non-recursive?
2021-04-19 20:09:41 +0200 <wroathe> MrFantastik: They're not really that magic. They're sort of a solution to a problem that Haskell imposes on itself. Because there's no concept of a "statement" or a "step" in the computation there's no way to sequence that x should come before y. One of the things that monads do, then, is to establish sequencing by saying that some value is a _dependency_ of a computation.
2021-04-19 20:09:55 +0200 <tomsmeding> basenode: what do you mean with recursive? that the function that builds the result should be recursive?
2021-04-19 20:10:06 +0200 <basenode> tomsmeding: exactly
2021-04-19 20:10:12 +0200 <tomsmeding> why do you want that? :p
2021-04-19 20:10:18 +0200 <Cale> wroathe: I'm not sure I'd classify all monads that way
2021-04-19 20:10:19 +0200 <basenode> tomsmeding: purity lol
2021-04-19 20:10:39 +0200 <tomsmeding> I'm not sure what being recursive has to do with being pure, to be honest :p
2021-04-19 20:10:41 +0200 <Cale> One particular monad is a solution to the problem that functions can't do IO, the IO monad
2021-04-19 20:10:59 +0200 <basenode> tomsmeding: it's functional
2021-04-19 20:10:59 +0200 <Cale> But the monad abstraction itself is useful because there are more monads than that.
2021-04-19 20:11:09 +0200 <basenode> no mutation of state
2021-04-19 20:11:12 +0200 <Cale> For example...
2021-04-19 20:11:12 +0200 <tomsmeding> basenode: lots of non-recursive things are also functional :p
2021-04-19 20:11:15 +0200 <basenode> = amazeballs
2021-04-19 20:11:29 +0200 <tomsmeding> basenode: you can encapsulate usage of mutable state within a pure function
2021-04-19 20:11:31 +0200 <Cale> > do x <- [1,2,3]; y <- [4,5]; return (x,y) -- lists are a monad
2021-04-19 20:11:33 +0200 <lambdabot> [(1,4),(1,5),(2,4),(2,5),(3,4),(3,5)]
2021-04-19 20:11:44 +0200 <basenode> tomsmeding: isn't that a type of function though?
2021-04-19 20:11:45 +0200 <wroathe> Cale: What would be an example of a monad that doesn't follow that pattern?
2021-04-19 20:11:59 +0200 <monochrom> Instead of asking "is it possible?", I ask "is it necessary?".
2021-04-19 20:12:05 +0200 <tomsmeding> basenode: a function that allocates an array, does some weird stuff with it, and finally returns a pure result is a completely pure function, but it still uses mutable things inside
2021-04-19 20:12:16 +0200 <wroathe> Cale: The old saying with IO is that there's an implicit "real world" value that comes before the next "real world" value in the sequence
2021-04-19 20:12:23 +0200kuribas(~user@ptr-25vy0i8idggkot642u8.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-04-19 20:12:40 +0200 <basenode> tomsmeding: ok, then i meant to say immutable(?) pure function
2021-04-19 20:13:22 +0200 <tomsmeding> basenode: if you want to add the restriction that no mutation can be used in the function, then I don't think it's possible to do it in linear time, but not sure
2021-04-19 20:13:33 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
2021-04-19 20:13:38 +0200 <monochrom> It is unnecessary to learn monads outside Haskell unless you're interested in at least one of: C# LINQ, digging deeper into callback-style programming
2021-04-19 20:13:48 +0200 <tomsmeding> or, hmm
2021-04-19 20:14:38 +0200 <tomsmeding> no the paste posted earlier is not linear time when converted from maps to lists
2021-04-19 20:15:09 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 20:15:16 +0200 <tomsmeding> basenode: lots of things get log factors when converted to a purely functional algorithm
2021-04-19 20:15:47 +0200 <basenode> tomsmeding: ok, i guess i'm flexible on the linear time requirement, i think the immutable state is probably more important to me
2021-04-19 20:16:15 +0200 <tomsmeding> basenode: then the paste by ski is an answer :)
2021-04-19 20:16:20 +0200 <Cale> wroathe: Well, the bit that I was taking issue with was saying that it's a problem that Haskell imposed on itself. Most programming languages don't have a built-in notion of parsers, or nondeterminism for example
2021-04-19 20:17:04 +0200 <Cale> wroathe: Monad captures a pattern that is common to many libraries in a particular style of functional programming, and lets us write some common control-structure-like combinators once and share that work between all the libraries.
2021-04-19 20:18:36 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 20:18:37 +0200 <basenode> tomsmeding: i just have to convert it to my daily language, i can't read haskell lol
2021-04-19 20:18:46 +0200 <tomsmeding> basenode: which is? :p
2021-04-19 20:18:47 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 20:18:49 +0200 <basenode> tomsmeding: elixir
2021-04-19 20:19:02 +0200 <MrFantastik> its funny that lisp is the alien logo
2021-04-19 20:19:13 +0200 <MrFantastik> because haskell is much more alien language like
2021-04-19 20:19:19 +0200 <wroathe> Cale: That's the interface component of the Monad typeclass. ski and I were having a good conversation about this the other day. We landed on a few different angles for explaining monads to beginners: 1. Monads as a "box" (the most hand-wavy level), 2. Monads as programmable semicolons (the angle I was just tackling) and 3. The Monad typeclass as an interface like you might think of in any language that
2021-04-19 20:19:25 +0200 <wroathe> supports interfaces
2021-04-19 20:19:32 +0200 <tomsmeding> basenode: ski's solution uses haskell's laziness quite crucially though
2021-04-19 20:19:59 +0200 <wroathe> I think ski might have mentioned one more angle
2021-04-19 20:20:01 +0200 <basenode> tomsmeding: ah, then it that case it probably won't be too useful, otherwise i can't translate it
2021-04-19 20:20:23 +0200 <tomsmeding> wroathe: perhaps monads as a computation? or is that nr. 1?
2021-04-19 20:20:39 +0200 <monochrom> that's 2
2021-04-19 20:20:56 +0200 <monochrom> programmable semicolon
2021-04-19 20:21:00 +0200 <tomsmeding> I guess
2021-04-19 20:21:01 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
2021-04-19 20:21:33 +0200 <monochrom> Moggi would prefer programmable let-in but meh
2021-04-19 20:21:39 +0200 <tomsmeding> though you can see the list monad [a] also as a computation that produces an a nondeterminstically, with a bit of squinting
2021-04-19 20:21:42 +0200 <Cale> MrFantastik: I think it helps to have some examples, because "monad" is an abstraction, and if you don't already know any examples of the kind of thing it's abstracting over, it's not going to make sense, even though the actual content of what it is, is quite simple.
2021-04-19 20:22:04 +0200hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:bd38:fd76:9bf:a5f)
2021-04-19 20:22:05 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-19 20:22:06 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-19 20:22:11 +0200 <MrFantastik> i've looked at some examples and have still very little understanding
2021-04-19 20:22:34 +0200 <MrFantastik> i think they will impossible for me to understand until I need to use one
2021-04-19 20:22:37 +0200 <tomsmeding> MrFantastik: play around with the idea, with only reading I estimate the chance very small that you'll get real understanding
2021-04-19 20:22:45 +0200 <Cale> MrFantastik: So, my favourite example is parsers. It's possible in Haskell (and other typed functional programming languages) to define a type Parser t for things that try to consume some portion of a string, and if successful, will produce a result of type t
2021-04-19 20:23:12 +0200 <tomsmeding> MrFantastik: and that holds for all "you", not only MrFantastik in particular :p
2021-04-19 20:23:12 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 20:23:49 +0200 <tomsmeding> (unless, that is, you understand what a monoid in the category of endofunctors is -- some do)
2021-04-19 20:23:54 +0200 <monochrom> Yeah I leverage Maybe and [] playing dual roles of being data and being simple models of non-functions, when I teach functor, applicative, monad.
2021-04-19 20:24:06 +0200 <Cale> MrFantastik: There are a fair number of parsing libraries in Haskell which basically set out by defining a type like that, and some basic parsers for consuming a single character, or trying to match a particular string, or things like that, and then ways of combining simple parsers together to make more complicated ones
2021-04-19 20:24:24 +0200 <safinaskar> yushyin: thanks
2021-04-19 20:24:29 +0200 <monochrom> non-function programs
2021-04-19 20:24:34 +0200 <MrFantastik> Cale: that sounds interesting
2021-04-19 20:25:00 +0200 <Cale> A very basic primitive type of parser is the one which consumes none of its input, but succeeds, and produces a given result. We'll have a function:
2021-04-19 20:25:06 +0200 <Cale> return :: t -> Parser t
2021-04-19 20:25:08 +0200 <monochrom> Oh generally it is true that you never understand something until you need to use it.
2021-04-19 20:25:31 +0200 <Cale> which given a value, constructs that "do nothing, successfully" sort of parser
2021-04-19 20:25:46 +0200 <monochrom> This is why I still don't sweat myself to learn lens or Day convolutions or...
2021-04-19 20:26:33 +0200 <Cale> MrFantastik: Okay so far?
2021-04-19 20:27:04 +0200 <Cale> return is one of the two functions that we need to define to make Parser into a monad.
2021-04-19 20:27:50 +0200Deide(~Deide@217.155.19.23)
2021-04-19 20:28:08 +0200 <Cale> The other, is pronounced "bind" and written (>>=) and its type might be a bit of a mouthful at first:
2021-04-19 20:28:16 +0200 <Cale> (>>=) :: Parser a -> (a -> Parser b) -> Parser b
2021-04-19 20:28:45 +0200 <Cale> This function takes a parser x, and some function f that's capable of consuming the results of the first parser, and producing a second parser
2021-04-19 20:28:54 +0200 <tomsmeding> basenode: a general recipe to do your thing without laziness is: construct a map (id => parent id); construct a map (id => child id's); perform a topological sort on that last map to get a list of ids; iterate over that list in reverse, building a map (id => Node) where 'data Node = Node id [Node]'; pick the roots from that map
2021-04-19 20:29:24 +0200 <tomsmeding> though that does still require sharing, but every purely functional language should have that
2021-04-19 20:29:31 +0200dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-04-19 20:29:33 +0200 <Cale> and it stitches them together to make a parser which, when you run it on some string, will try to consume the initial portion of the input with x, and if it succeeds with some result v, will parse the remainder of the input with f v
2021-04-19 20:30:00 +0200 <MrFantastik> and if Parser a fails?
2021-04-19 20:30:09 +0200 <Cale> Then the combined parser fails
2021-04-19 20:30:20 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-19 20:30:21 +0200 <MrFantastik> what would it return then?
2021-04-19 20:30:34 +0200 <MrFantastik> or would there be some sort of exception raised?
2021-04-19 20:30:36 +0200ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-19 20:30:41 +0200safinaskar(~user@109.252.90.136) ()
2021-04-19 20:31:16 +0200 <ski> tomsmeding : i mentioned topologically sorting, then building bottom-up, in ##programming, to basenode, before
2021-04-19 20:31:27 +0200 <Cale> It's similar to an exception, even if it's not *technically* one -- generally it's built into the definition of Parser t that it's possible for a parser to produce zero results, or fail with some error
2021-04-19 20:32:04 +0200 <Cale> To make that more concrete, one possible implementation for a type like this (even if it's a little inefficient, it's simple) looks like:
2021-04-19 20:32:21 +0200 <basenode> tomsmeding: yeah ski also mentioned that, i just have no experience with topological sort :P
2021-04-19 20:32:30 +0200 <basenode> but i'll do some research, thanks for the help guys
2021-04-19 20:32:34 +0200 <tomsmeding> you can look up algorithms for that :p
2021-04-19 20:32:42 +0200 <Cale> data Parser t = MkParser (String -> [(t, String)])
2021-04-19 20:32:59 +0200 <tomsmeding> I think you cannot get around a topsort; isn't this problem basically _equivalent_ to a topsort
2021-04-19 20:33:00 +0200 <Cale> That is, a parser for things, is a function from strings to lists of pairs of things and strings :D
2021-04-19 20:33:16 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-19 20:33:20 +0200 <Cale> The idea being that the parser may fail, and produce an empty list in that case
2021-04-19 20:33:34 +0200 <Cale> Or it may succeed in a unique way, returning a list of length 1
2021-04-19 20:33:56 +0200 <Cale> Or it might succeed in multiple ways (if the parse is ambiguous), returning a longer list
2021-04-19 20:34:09 +0200 <Cale> and in each case, the pairs in the list are the parsed result, and the remaining portion of the input
2021-04-19 20:34:10 +0200 <tomsmeding> basenode: if you manage to implement your problem without a topsort, then you can define a topsort function in terms of your solution
2021-04-19 20:34:10 +0200 <ski> the cyclic construction of the table of trees effectively (implicitely) does toposort, yea
2021-04-19 20:34:17 +0200 <tomsmeding> so if you want it or not, you're going to do a topsort :p
2021-04-19 20:34:52 +0200 <basenode> topsort it is then!
2021-04-19 20:34:54 +0200skiidly recalls first hearing of toposort, in BASIC (with line numbers)
2021-04-19 20:35:06 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-19 20:35:39 +0200 <wroathe> MrFantastik: Cale: You asked about exceptions. It might be illustrative to look at the definition for the "Either" monad to illustrate one way this is handled.
2021-04-19 20:35:42 +0200 <wroathe> MrFantastik: https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/Data/Either.hs#L157-159
2021-04-19 20:36:20 +0200 <wroathe> MrFantastik: That "interface" I was referring to was the ability to define "return" (aka "pure", above). and >>=
2021-04-19 20:36:57 +0200 <Cale> Oh, right, it's worth pointing out that we can define a monad that simulates exceptions :)
2021-04-19 20:37:06 +0200 <wroathe> MrFantastik: An Either value is either a Left or a Right. It's a tagged union, if you're familiar with those in other languages. If the value is a left, it's an error state, and if it's a right, it's a value state
2021-04-19 20:37:33 +0200 <wroathe> MrFantastik: So if the Either value on the left hand side of >>= is a Left, we just "skip" the computation that would've otherwise been performed
2021-04-19 20:37:50 +0200 <wroathe> MrFantastik: And if it's a Right, we perform the computation like normal
2021-04-19 20:37:53 +0200chele(~chele@5.53.222.202) (Remote host closed the connection)
2021-04-19 20:37:58 +0200 <ski> wroathe : yea .. i was circumambulating around the concepts, trying to set the context a bit more clearly, dispelling some misconceptions, and give some hopefully useful clues to get a better handle on them (it wasn't really intended as a tutorial)
2021-04-19 20:38:28 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-19 20:40:42 +0200 <wroathe> ski: In what context? Are you saying that none of what we discussed was a good way to help a beginner understand monads?
2021-04-19 20:40:56 +0200 <wroathe> ski: I thought we landed on some good models for explanation there
2021-04-19 20:41:07 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 20:41:20 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-04-19 20:41:56 +0200 <MrFantastik> so as i understand it
2021-04-19 20:42:07 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 20:42:29 +0200 <wroathe> MrFantastik: So with that Either monad, if you were to do something like (Left "oh noes, this is an error" >>= addThree >>= timesTwo) the result of this expression would be Left "oh noes, this is an error" (ignoring the second and third terms).
2021-04-19 20:42:35 +0200 <MrFantastik> a monad can help assign a type to a value that's type is unkown, but later will be known after the result of some function?
2021-04-19 20:42:40 +0200 <wroathe> MrFantastik: But if you did Left "oh noes, this is an error" >>= addThree >>= timesTwo
2021-04-19 20:42:43 +0200 <wroathe> Ignore that
2021-04-19 20:42:48 +0200 <wroathe> mispaste
2021-04-19 20:43:07 +0200 <wroathe> But if you did Right 3 >>= addThree >>= timesTwo the value would be Right 12
2021-04-19 20:43:47 +0200 <Cale> MrFantastik: Well, yeah, quite often, the type that our monad is parameterised by will be the type of the eventual result of some computation.
2021-04-19 20:44:06 +0200 <Cale> (In fact, it's always possible to think of it that way)
2021-04-19 20:44:47 +0200 <ski> wroathe : i think (hope) that the discussion would be of some use to (a) people trying to talk about and explain monads to others; (b) people trying to get a better grip on what monad's for. (those are overlapping). however, i wasn't really trying to aim at explaining monads (people seem to agree that you (or most people, anyway) most likely really need to see more specific examples of monads, and how
2021-04-19 20:44:54 +0200 <ski> they're used)
2021-04-19 20:46:21 +0200 <wroathe> ski: Well, I suppose I disagree and think that the discussion was helpful for explaining monads. The interface part is a very tangible thing that people who have programmed in other languages can easily grasp.
2021-04-19 20:46:35 +0200 <ski> i was more aiming at attempting to clarify some surrounding concepts, dispel some confusion, that i don't that often see ventilated, that could serve to help someone make more sense of it, in adjunction with additional material
2021-04-19 20:47:26 +0200 <wroathe> ski: And then if you tackle the problem of sequencing in a lazy functional language you start getting close to an explanation for 1. what they are and 2. why they're used
2021-04-19 20:47:37 +0200 <ski> wroathe : and yea, it was intended to be helpful. but if i were aiming to explain monads (in a more self-contained way, not relying on external sources), i'd have to walk through a lot more examples that i managed to do, there
2021-04-19 20:48:06 +0200 <wroathe> ski: Well, that latter point is why we have books
2021-04-19 20:48:20 +0200 <wroathe> ski: There's plenty of monad tutorials out there that tackle one monad definition at a time
2021-04-19 20:48:26 +0200 <ski> yea. and some on-line resources
2021-04-19 20:48:45 +0200 <ski> (unfortunately, most monad tutorials out there seem to range from bad to worse)
2021-04-19 20:48:46 +0200haritz(~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-04-19 20:48:51 +0200Pickchea(~private@unaffiliated/pickchea)
2021-04-19 20:48:51 +0200 <wroathe> ski: But trying to explain them one monad at a time I still think leaves people confused about what all of these things have in common
2021-04-19 20:48:58 +0200Guest_70(8a26aed7@138-38-174-215.eduroam.bath.ac.uk)
2021-04-19 20:49:03 +0200 <monochrom> Yeah too much armchair philosophy out there.
2021-04-19 20:50:00 +0200 <Cale> I think the examples kind of have to come first though, regardless of whether we mention that they're monads or not
2021-04-19 20:50:17 +0200 <Cale> You can explain the abstraction without the examples, but it will seem pointless
2021-04-19 20:50:44 +0200 <Cale> But you *do* actually need to get to the abstraction
2021-04-19 20:50:53 +0200 <MrFantastik> I think that's the hard part
2021-04-19 20:50:58 +0200 <ski> "What the hell are Monads?" by Noel Winstanley in 1999-02 at <https://www-users.mat.uni.torun.pl//~fly/materialy/fp/haskell-doc/Monads.html> is probably my favorite initial monad tutorial (also happens to be the first one, attempting to explain monads in general, that's not in a paper)
2021-04-19 20:51:23 +0200 <Guest_70> Hey everyone, I am trying to install haskell on my Mac OS X El capitan latest version. I get an error message on the second confirmation of pressing enter. Here is the error message: [ Info ] verifying digest of: ghc-8.10.4-x86_64-apple-darwin.tar.xz
2021-04-19 20:51:24 +0200 <Guest_70> [ Info ] Unpacking: ghc-8.10.4-x86_64-apple-darwin.tar.xz to /var/folders/vb/xw21l2391q90s22qq8qgxh7c0000gp/T/ghcup-ALt2jn
2021-04-19 20:51:24 +0200 <Guest_70> dyld: lazy symbol binding failed: Symbol not found: _futimens
2021-04-19 20:51:25 +0200 <Guest_70>   Referenced from: /Users/JoeHall/.ghcup/bin/ghcup (which was built for Mac OS X 10.13)
2021-04-19 20:51:25 +0200 <Guest_70>   Expected in: /usr/lib/libSystem.B.dylib
2021-04-19 20:51:26 +0200 <Guest_70> dyld: Symbol not found: _futimens
2021-04-19 20:51:26 +0200 <Guest_70>   Referenced from: /Users/JoeHall/.ghcup/bin/ghcup (which was built for Mac OS X 10.13)
2021-04-19 20:51:27 +0200 <Guest_70>   Expected in: /usr/lib/libSystem.B.dylib
2021-04-19 20:51:27 +0200 <ski> it focuses on practical examples, and doing away with boilerplate repetition, by abstraction
2021-04-19 20:51:27 +0200 <Guest_70> sh: line 45: 1008 Trace/BPT trap: 5 ghcup "$@"
2021-04-19 20:51:28 +0200 <Guest_70> "_eghcup --cache install ghc recommended" failed!
2021-04-19 20:51:33 +0200 <xsperry> :-O
2021-04-19 20:51:35 +0200 <wroathe> Holy spam, batman
2021-04-19 20:51:44 +0200 <Guest_70> sorry xD
2021-04-19 20:51:45 +0200 <ski> Guest_70 : please don't paste many lines of text into the channel
2021-04-19 20:51:48 +0200 <ski> @where paste
2021-04-19 20:51:48 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-04-19 20:51:51 +0200 <Cale> I've seen a lot of "Monads in language X" posts where they translate a bunch of examples of things that would be monads in Haskell into language X, but they don't do it in such a way that you could write any code that would be shared between all the examples
2021-04-19 20:52:13 +0200 <geekosaur> I think older OS X is no longer supported?
2021-04-19 20:52:37 +0200 <ski> wroathe : "But trying to explain them one monad at a time .." -- yes, and so i attempted a more general, conceptual, discussion, despite being aware of pitfalls
2021-04-19 20:52:45 +0200 <tomsmeding> yeah that error says that the executable is built for osx 10.13, whereas el capitan is 10.11
2021-04-19 20:53:16 +0200Sorna(~Sornaensi@077213200034.dynamic.telenor.dk)
2021-04-19 20:53:17 +0200 <wroathe> ski: Cale: I just think there's low hanging fruit there to be plucked by comparing the Monad typeclass to a plain old interface in another language. Most people can immediately understand that if you can implement the interface you may have a type of monad on your hands. Then it's just a matter of determining whether it satisfied the laws and whether you may have some duplication
2021-04-19 20:53:44 +0200 <Cale> Well, type classes are like interfaces, and Monad is a type class
2021-04-19 20:53:50 +0200 <Cale> sure
2021-04-19 20:54:02 +0200 <MrFantastik> screw it I'm just going to learn category theory
2021-04-19 20:54:09 +0200 <tomsmeding> MrFantastik: be careful
2021-04-19 20:54:10 +0200 <monochrom> Plain old interfaces in another language do not have the *->* kind. There is no translation.
2021-04-19 20:54:12 +0200 <ski> MrFantastik : you're interested in math ?
2021-04-19 20:54:17 +0200 <MrFantastik> I do like math a lot
2021-04-19 20:54:20 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-04-19 20:54:34 +0200 <MrFantastik> I'm haven't learned a lot of math yet though
2021-04-19 20:54:36 +0200Guest_70(8a26aed7@138-38-174-215.eduroam.bath.ac.uk) (Quit: Connection closed)
2021-04-19 20:54:57 +0200 <monochrom> But I cast type classes as operator overloading anyway, not as interfaces.
2021-04-19 20:54:58 +0200 <tomsmeding> and realise that knowing what a monad is, mathematically, allows you to _deduce_ how to use it, but it doesn't give you any skill in using it :p
2021-04-19 20:55:03 +0200 <ski> MrFantastik : be aware that learning CT in general probably won't have that large an effect on learning or programming in Haskell (or other languages (maybe with Charity as an exception))
2021-04-19 20:55:21 +0200 <wroathe> monochrom: You get close enough to that with generics
2021-04-19 20:55:27 +0200 <monochrom> And functions of type MyClass t => ..., template methods.
2021-04-19 20:55:33 +0200 <ski> MrFantastik : that said, i'd suggest "Conceptual Mathematics: A first introduction to categories" by Lawvere & Schanuel
2021-04-19 20:55:42 +0200 <MrFantastik> i see the language of category theory all over the haskell source code
2021-04-19 20:55:49 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2021-04-19 20:55:49 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2021-04-19 20:55:49 +0200haritz(~hrtz@unaffiliated/haritz)
2021-04-19 20:55:57 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
2021-04-19 20:56:20 +0200 <tomsmeding> and most haskell programmers just understand those concepts in terms of what they mean operationally, not necessarily what they mean categorically in mathematics
2021-04-19 20:56:26 +0200Sornaensis(~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds)
2021-04-19 20:56:42 +0200 <ski> monochrom : i guess, "interfaces", in the sense of module interfaces/signatures, rather than method interfaces of objects (i.e. object types) ..
2021-04-19 20:57:01 +0200 <ski> @where Charity
2021-04-19 20:57:01 +0200 <lambdabot> http://pll.cpsc.ucalgary.ca/charity1/www/home.html
2021-04-19 20:57:19 +0200lordcirth(~lordcirth@2607:f2c0:95b3:4400:f95c:f5c5:5660:38cf)
2021-04-19 20:57:53 +0200 <monochrom> Associated type classes would be module interfaces.
2021-04-19 20:58:05 +0200 <ski> MrFantastik : the specific ways in which they're being used in Haskell can, for the most part, be understood in a Haskell-internal (or programming-internal) sense, not requiring to grasp the full abstract generality of CT
2021-04-19 20:58:12 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-04-19 20:58:20 +0200 <ski> associated ?
2021-04-19 20:58:27 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
2021-04-19 20:58:32 +0200 <monochrom> err, associated type families
2021-04-19 20:59:08 +0200 <ski> i suppose you mean, for a type exported by a module
2021-04-19 20:59:21 +0200 <lordcirth> I'm trying to use record dot syntax with a stack project. This is my stack.yaml: https://termbin.com/u38k "unit.hp" is treated as function composition. What am I missing? Thanks
2021-04-19 20:59:28 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-04-19 20:59:29 +0200 <lordcirth> package.yaml* sorry
2021-04-19 20:59:57 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 20:59:58 +0200 <monochrom> A module sig can declare both types and values. A Haskell-2010 class can only declare values.
2021-04-19 21:00:14 +0200cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1)
2021-04-19 21:00:36 +0200 <monochrom> A Haskell-2010 class falls short of being a module sig.
2021-04-19 21:00:57 +0200 <monochrom> s/being a/covering/
2021-04-19 21:03:02 +0200 <ski> yea. a module type parameter is not quite the same thing as a type declared in the module
2021-04-19 21:03:02 +0200 <iphy> can you use a test from a dependent package to measure coverage of the dependency package?
2021-04-19 21:03:49 +0200 <iphy> I have pkg1 that defines a bunch of stuff, and pkg2 that defines more stuff based on pkg1 that makes it much easier to use. I'd like to use the stuff from pkg2 to write tests for pkg1
2021-04-19 21:04:12 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-04-19 21:04:40 +0200 <iphy> I don't want pkg2's stuff to be in pkg1 because it doesn't belong there and because of dependencies I don't want to have in pkg1
2021-04-19 21:05:02 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 21:17:14 +0200Fran_(~Fran@181.28.16.4)
2021-04-19 21:17:32 +0200 <Fran_> @pl
2021-04-19 21:17:32 +0200 <lambdabot> (line 1, column 1):
2021-04-19 21:17:32 +0200 <lambdabot> unexpected end of input
2021-04-19 21:17:32 +0200 <lambdabot> expecting white space, "()", natural, identifier, lambda abstraction or expression
2021-04-19 21:17:41 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-19 21:21:21 +0200 <ski> @help pl
2021-04-19 21:21:21 +0200 <lambdabot> pointless <expr>. Play with pointfree code.
2021-04-19 21:21:48 +0200__minoru__shirae(~shiraeesh@5.101.59.44)
2021-04-19 21:22:09 +0200minoru_shiraeesh(~shiraeesh@109.166.57.43) (Ping timeout: 260 seconds)
2021-04-19 21:22:46 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-19 21:23:07 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-04-19 21:25:51 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-19 21:28:34 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-19 21:29:31 +0200 <maerwald> geekosaur: that old OS X was never supported
2021-04-19 21:29:58 +0200 <maerwald> I think even cabal-install doesn't, but I didn't test
2021-04-19 21:35:36 +0200puke(~vroom@217.138.252.184) (Quit: puke)
2021-04-19 21:35:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-04-19 21:39:21 +0200Sorny(~Sornaensi@191.96.108.77)
2021-04-19 21:39:35 +0200Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-04-19 21:39:54 +0200Kaiepi(~Kaiepi@47.54.252.148)
2021-04-19 21:40:14 +0200Sornaens1(~Sornaensi@85.203.36.21)
2021-04-19 21:41:56 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 246 seconds)
2021-04-19 21:42:31 +0200Sorna(~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 260 seconds)
2021-04-19 21:43:15 +0200Fran_(~Fran@181.28.16.4) (Quit: Leaving)
2021-04-19 21:43:22 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-19 21:43:41 +0200Sorny(~Sornaensi@191.96.108.77) (Ping timeout: 240 seconds)
2021-04-19 21:44:14 +0200pengjiz(~user@2601:547:902:6d00::2) (Quit: ERC (IRC client for Emacs 27.2))
2021-04-19 21:44:21 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 21:44:26 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-19 21:45:55 +0200puke(~vroom@217.138.252.184)
2021-04-19 21:46:21 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 21:49:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-19 21:49:58 +0200basenode(~user@gateway/tor-sasl/basenode) ()
2021-04-19 21:50:26 +0200vchlup(~vchlup@nat.brnet.cz) (Ping timeout: 240 seconds)
2021-04-19 21:53:59 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-04-19 21:55:54 +0200Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-04-19 21:55:58 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-04-19 21:57:58 +0200viluon(uid453725@gateway/web/irccloud.com/x-ftnuqxhuphmmdyvk) ()
2021-04-19 21:58:33 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
2021-04-19 21:58:42 +0200viluon(uid453725@gateway/web/irccloud.com/x-iaenozwsdlvnenzz)
2021-04-19 21:59:00 +0200Lord_of_Life_Lord_of_Life
2021-04-19 22:01:53 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-04-19 22:02:11 +0200tlgl^nix(~damien@S0106008ef25e98fb.su.shawcable.net)
2021-04-19 22:03:05 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
2021-04-19 22:05:05 +0200dmytrish(~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9)
2021-04-19 22:06:02 +0200petersen(~petersen@redhat/juhp) (Ping timeout: 268 seconds)
2021-04-19 22:06:59 +0200rj(~x@gateway/tor-sasl/rj) (Remote host closed the connection)
2021-04-19 22:07:04 +0200danso(~dan@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.0)
2021-04-19 22:07:16 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 268 seconds)
2021-04-19 22:07:18 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 22:07:47 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-19 22:07:54 +0200petersen(~petersen@redhat/juhp)
2021-04-19 22:08:21 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube)
2021-04-19 22:12:23 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-04-19 22:12:34 +0200 <justsomeguy> Hey, alright, haskellbook has a new revision and they're going to do a print version!
2021-04-19 22:12:54 +0200 <Rembane> \œ/
2021-04-19 22:13:21 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
2021-04-19 22:13:38 +0200 <justsomeguy> :D
2021-04-19 22:14:17 +0200 <justsomeguy> Hopefully I can finish the book this year. It was even one of my new years resolutions.
2021-04-19 22:16:47 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-04-19 22:19:45 +0200Codaraxis_(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-04-19 22:20:14 +0200vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-04-19 22:21:35 +0200Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Read error: Connection reset by peer)
2021-04-19 22:22:47 +0200danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
2021-04-19 22:23:20 +0200ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-04-19 22:23:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-04-19 22:26:45 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 22:28:42 +0200rond_(5940206b@89-64-32-107.dynamic.chello.pl) (Ping timeout: 240 seconds)
2021-04-19 22:32:05 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 22:32:44 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-19 22:33:33 +0200vchlup(~vchlup@nat.brnet.cz)
2021-04-19 22:33:50 +0200Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-19 22:33:59 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-19 22:35:23 +0200cole-k(~cole-k@172.56.30.51)
2021-04-19 22:36:11 +0200alx741(~alx741@186.178.109.113) (Ping timeout: 240 seconds)
2021-04-19 22:36:45 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-19 22:37:00 +0200cole-k(~cole-k@172.56.30.51) (Remote host closed the connection)
2021-04-19 22:37:47 +0200PoliticsII______(sid193551@gateway/web/irccloud.com/x-xczsjbruunvdnrpf) (Ping timeout: 250 seconds)
2021-04-19 22:37:47 +0200heyj(sid171370@gateway/web/irccloud.com/x-ztdmvfaxkruzhawl) (Ping timeout: 250 seconds)
2021-04-19 22:37:47 +0200angerman(sid209936@gateway/web/irccloud.com/x-vwzrxwwqpznmvfzd) (Ping timeout: 250 seconds)
2021-04-19 22:37:47 +0200liquorice(sid267884@gateway/web/irccloud.com/x-txviedjixtylumvd) (Ping timeout: 250 seconds)
2021-04-19 22:37:47 +0200trevorriles(sid469656@gateway/web/irccloud.com/x-ztfsmauikpdgmwtj) (Ping timeout: 250 seconds)
2021-04-19 22:37:47 +0200iphy(sid67735@gateway/web/irccloud.com/x-tamdzevqynwsuesn) (Ping timeout: 250 seconds)
2021-04-19 22:37:47 +0200alinab(sid468903@gateway/web/irccloud.com/x-mmgxfjoejzkoptwj) (Ping timeout: 250 seconds)
2021-04-19 22:37:47 +0200teehemkay(sid14792@gateway/web/irccloud.com/x-iudjigrpyzwwyvyh) (Ping timeout: 250 seconds)
2021-04-19 22:37:51 +0200drupol(sid117588@gateway/web/irccloud.com/x-yunocidhqntsjvsp) (Ping timeout: 245 seconds)
2021-04-19 22:37:51 +0200kip(sid71464@gateway/web/irccloud.com/x-xjxqpwkisgbviywm) (Ping timeout: 245 seconds)
2021-04-19 22:37:51 +0200cbarrett(sid192934@adium/cbarrett) (Ping timeout: 245 seconds)
2021-04-19 22:37:52 +0200travv0(sid293381@gateway/web/irccloud.com/x-bmnsmvdukydxzojl) (Ping timeout: 245 seconds)
2021-04-19 22:37:52 +0200enemeth79(sid309041@gateway/web/irccloud.com/x-iokskzkzdpngtftb) (Ping timeout: 245 seconds)
2021-04-19 22:37:55 +0200ProofTechnique(sid79547@gateway/web/irccloud.com/x-icnhdahhvfdpvqrx) (Ping timeout: 246 seconds)
2021-04-19 22:37:56 +0200edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 258 seconds)
2021-04-19 22:38:07 +0200conjunctive(sid433686@gateway/web/irccloud.com/x-ywvgcymrsekezwdb) (Ping timeout: 258 seconds)
2021-04-19 22:38:07 +0200Adeon(sid418992@gateway/web/irccloud.com/x-wguwowrrdxqwnndk) (Ping timeout: 258 seconds)
2021-04-19 22:38:07 +0200ibloom(sid350277@gateway/web/irccloud.com/x-klvmqrdqeclehwqf) (Ping timeout: 258 seconds)
2021-04-19 22:38:11 +0200affinespaces(sid327561@gateway/web/irccloud.com/x-uzfjyzvrqoqxacwx) (Ping timeout: 260 seconds)
2021-04-19 22:38:11 +0200higherorder__(sid185221@gateway/web/irccloud.com/x-tccblcishfrqasvs) (Ping timeout: 260 seconds)
2021-04-19 22:38:11 +0200lally(sid388228@gateway/web/irccloud.com/x-csadwvaszxoveiqd) (Ping timeout: 260 seconds)
2021-04-19 22:38:11 +0200wpcarro(sid397589@gateway/web/irccloud.com/x-ecuoponltgnpdqvt) (Ping timeout: 260 seconds)
2021-04-19 22:38:11 +0200ReinH(sid179972@gateway/web/irccloud.com/x-tsenbknuiamuoknp) (Ping timeout: 260 seconds)
2021-04-19 22:38:11 +0200mcfilib(sid302703@gateway/web/irccloud.com/x-juvammsyvplemvln) (Ping timeout: 260 seconds)
2021-04-19 22:38:11 +0200alanz(sid110616@gateway/web/irccloud.com/x-hohhkiqzyqaiuisr) (Ping timeout: 260 seconds)
2021-04-19 22:38:11 +0200natim87(sid286962@gateway/web/irccloud.com/x-kcrciituhyzojhiq) (Ping timeout: 248 seconds)
2021-04-19 22:38:13 +0200alexknvl(sid259568@gateway/web/irccloud.com/x-fhebzczzstiwcpzq) (Ping timeout: 250 seconds)
2021-04-19 22:38:13 +0200pent(sid313808@gateway/web/irccloud.com/x-zehtvlxjhkwmhhgc) (Ping timeout: 250 seconds)
2021-04-19 22:38:13 +0200rodlogic__(sid214676@gateway/web/irccloud.com/x-qnsaereppjlefdxr) (Ping timeout: 250 seconds)
2021-04-19 22:38:13 +0200edmundnoble(sid229620@gateway/web/irccloud.com/x-acqjqzoxhelmlagr) (Ping timeout: 250 seconds)
2021-04-19 22:38:15 +0200teehemkay(sid14792@gateway/web/irccloud.com/x-aozhbjqwwkaxnioe)
2021-04-19 22:38:16 +0200caasih(sid13241@gateway/web/irccloud.com/x-agadrzqzqvqjptgo) (Ping timeout: 246 seconds)
2021-04-19 22:38:16 +0200aizen_s(sid462968@gateway/web/irccloud.com/x-qnkvehkmfuwvulmd) (Ping timeout: 245 seconds)
2021-04-19 22:38:16 +0200wildsebastian(sid324688@gateway/web/irccloud.com/x-cunhkwlmpyymftve) (Ping timeout: 245 seconds)
2021-04-19 22:38:16 +0200mudri(sid317655@gateway/web/irccloud.com/x-bcigdzdisjxobsht) (Ping timeout: 245 seconds)
2021-04-19 22:38:16 +0200carter(sid14827@gateway/web/irccloud.com/x-cxyihhqsuqfqchre) (Ping timeout: 245 seconds)
2021-04-19 22:38:16 +0200nh2(sid309956@gateway/web/irccloud.com/x-uenbkrwkbbfqagmn) (Ping timeout: 245 seconds)
2021-04-19 22:38:19 +0200thi(sid97277@gateway/web/irccloud.com/x-eqfjkudsamsuuqbt) (Ping timeout: 258 seconds)
2021-04-19 22:38:20 +0200angerman(sid209936@gateway/web/irccloud.com/x-vkbiyhlbxhfghaep)
2021-04-19 22:38:24 +0200PoliticsII______(sid193551@gateway/web/irccloud.com/x-yxyceemvbzkrgcna)
2021-04-19 22:38:30 +0200pepeiborra(sid443799@gateway/web/irccloud.com/x-smlzoyfyppguwjck) (Ping timeout: 258 seconds)
2021-04-19 22:38:37 +0200b20n(sid115913@gateway/web/irccloud.com/x-pctinassjooigaew) (Ping timeout: 246 seconds)
2021-04-19 22:38:37 +0200moobar(sid171730@gateway/web/irccloud.com/x-tmumveujckzntgio) (Ping timeout: 246 seconds)
2021-04-19 22:38:39 +0200howdoi(uid224@gateway/web/irccloud.com/x-pwqigqguzpkhpeqf) (Ping timeout: 260 seconds)
2021-04-19 22:38:39 +0200sclv(sid39734@haskell/developer/sclv) (Ping timeout: 260 seconds)
2021-04-19 22:38:39 +0200entel(uid256215@botters/entel) (Ping timeout: 260 seconds)
2021-04-19 22:38:39 +0200darthThorik(sid39589@gateway/web/irccloud.com/x-ovxmffqjkmnhvkwx) (Ping timeout: 260 seconds)
2021-04-19 22:38:39 +0200newhoggy(sid198874@gateway/web/irccloud.com/x-fjgkldqbnqjnndba) (Ping timeout: 260 seconds)
2021-04-19 22:38:39 +0200joshmeredith(sid387798@gateway/web/irccloud.com/x-deyyeanvffjutikl) (Ping timeout: 260 seconds)
2021-04-19 22:38:39 +0200verlet64_(sid261276@gateway/web/irccloud.com/x-qzcgtsnaanuchemn) (Ping timeout: 260 seconds)
2021-04-19 22:38:41 +0200rizary(sid220347@gateway/web/irccloud.com/x-jeeizrlvvntrkymr) (Ping timeout: 245 seconds)
2021-04-19 22:38:41 +0200parisienne(sid383587@gateway/web/irccloud.com/x-wdxmldhahujvwtgt) (Ping timeout: 245 seconds)
2021-04-19 22:38:41 +0200liszt(sid336875@gateway/web/irccloud.com/x-agbwjiobfjspjplf) (Ping timeout: 245 seconds)
2021-04-19 22:38:41 +0200idnar(sid12240@gateway/web/irccloud.com/x-zpnhxxgbwuvypcql) (Ping timeout: 245 seconds)
2021-04-19 22:38:43 +0200dgpratt(sid193493@gateway/web/irccloud.com/x-lgrpkenjgojrepjw) (Ping timeout: 248 seconds)
2021-04-19 22:38:43 +0200d0liver(sid363046@gateway/web/irccloud.com/x-vlrurtoubbzrlqmk) (Ping timeout: 248 seconds)
2021-04-19 22:38:44 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-19 22:39:06 +0200liquorice(sid267884@gateway/web/irccloud.com/x-gifxlxspxpkuruyr)
2021-04-19 22:39:06 +0200edmundnoble(sid229620@gateway/web/irccloud.com/x-emmrpthgulpebvrs)
2021-04-19 22:39:07 +0200tapas(sid467876@gateway/web/irccloud.com/x-mdchyvtgigopdvnp) (Ping timeout: 245 seconds)
2021-04-19 22:39:07 +0200jonrh(sid5185@gateway/web/irccloud.com/x-ysuvrbtwdxclmwmm) (Ping timeout: 245 seconds)
2021-04-19 22:39:07 +0200simony(sid226116@gateway/web/irccloud.com/x-kqfdecpcfpxqodld) (Ping timeout: 260 seconds)
2021-04-19 22:39:07 +0200alexknvl(sid259568@gateway/web/irccloud.com/x-wdxobfzstmpkvclf)
2021-04-19 22:39:08 +0200joshmeredith(sid387798@gateway/web/irccloud.com/x-uxsrlglojomperah)
2021-04-19 22:39:08 +0200ibloom(sid350277@gateway/web/irccloud.com/x-yhokoaaxqmoudodu)
2021-04-19 22:39:08 +0200ProofTechnique(sid79547@gateway/web/irccloud.com/x-uvtkxtknhyjkpohz)
2021-04-19 22:39:09 +0200lally(sid388228@gateway/web/irccloud.com/x-jtlutemywqmachbj)
2021-04-19 22:39:09 +0200cbarrett(sid192934@adium/cbarrett)
2021-04-19 22:39:10 +0200pepeiborra(sid443799@gateway/web/irccloud.com/x-nirrncfqraegkpgk)
2021-04-19 22:39:10 +0200alanz(sid110616@gateway/web/irccloud.com/x-ephuaztzuzimomxa)
2021-04-19 22:39:13 +0200b20n(sid115913@gateway/web/irccloud.com/x-lrxmhixuzcmcfdhe)
2021-04-19 22:39:13 +0200wpcarro(sid397589@gateway/web/irccloud.com/x-xnngigwekxregdfs)
2021-04-19 22:39:16 +0200travv0(sid293381@gateway/web/irccloud.com/x-hoivuatisyqixyit)
2021-04-19 22:39:19 +0200dgpratt(sid193493@gateway/web/irccloud.com/x-vbszyjrhlyidsuhn)
2021-04-19 22:39:19 +0200parisienne(sid383587@gateway/web/irccloud.com/x-aiygzsqhowxpopox)
2021-04-19 22:39:19 +0200idnar(sid12240@gateway/web/irccloud.com/x-pvawekuiulmnefkg)
2021-04-19 22:39:21 +0200kip(sid71464@gateway/web/irccloud.com/x-urjbgtyvyzgxzumc)
2021-04-19 22:39:22 +0200sclv(sid39734@haskell/developer/sclv)
2021-04-19 22:39:22 +0200yogani(sid42623@gateway/web/irccloud.com/x-qazwmxvjoakhfcrd) (Ping timeout: 276 seconds)
2021-04-19 22:39:23 +0200liszt(sid336875@gateway/web/irccloud.com/x-aonselplhnbmouys)
2021-04-19 22:39:23 +0200aizen_s(sid462968@gateway/web/irccloud.com/x-gzlgfjzfpthijryy)
2021-04-19 22:39:26 +0200nh2(sid309956@gateway/web/irccloud.com/x-vqylohvjgsiigvkd)
2021-04-19 22:39:26 +0200d0liver(sid363046@gateway/web/irccloud.com/x-bijzbspzjskqwcir)
2021-04-19 22:39:28 +0200darthThorik(sid39589@gateway/web/irccloud.com/x-agxewrbiyijpmjiw)
2021-04-19 22:39:30 +0200rizary(sid220347@gateway/web/irccloud.com/x-zmjqapjzsmflqwgm)
2021-04-19 22:39:30 +0200trevorriles(sid469656@gateway/web/irccloud.com/x-xdsdtxtxrbrxnitq)
2021-04-19 22:39:31 +0200higherorder__(sid185221@gateway/web/irccloud.com/x-koiygmjzeszehzrt)
2021-04-19 22:39:32 +0200alinab(sid468903@gateway/web/irccloud.com/x-kxduedlnkmrjymym)
2021-04-19 22:39:32 +0200mudri(sid317655@gateway/web/irccloud.com/x-tkftihyrhfadzkvn)
2021-04-19 22:39:32 +0200newhoggy(sid198874@gateway/web/irccloud.com/x-odbcefoglogukgog)
2021-04-19 22:39:33 +0200iphy(sid67735@gateway/web/irccloud.com/x-svcckheboicsfdfm)
2021-04-19 22:39:36 +0200rodlogic__(sid214676@gateway/web/irccloud.com/x-jsfobhdzpplfsdpe)
2021-04-19 22:39:37 +0200enemeth79(sid309041@gateway/web/irccloud.com/x-vaiujncapfeaexzk)
2021-04-19 22:39:37 +0200Adeon(sid418992@gateway/web/irccloud.com/x-gymdfseqxtsglqmg)
2021-04-19 22:39:40 +0200heyj(sid171370@gateway/web/irccloud.com/x-wookyduvyhmgjxsv)
2021-04-19 22:39:40 +0200wildsebastian(sid324688@gateway/web/irccloud.com/x-huuoejtmpgsbomho)
2021-04-19 22:39:43 +0200conjunctive(sid433686@gateway/web/irccloud.com/x-veifezvsdidztgvo)
2021-04-19 22:39:44 +0200howdoi(uid224@gateway/web/irccloud.com/x-lfqvebqbrutpzvro)
2021-04-19 22:39:46 +0200drupol(sid117588@gateway/web/irccloud.com/x-gsnwinbjioyhnadu)
2021-04-19 22:39:51 +0200pent(sid313808@gateway/web/irccloud.com/x-mamwukyavontcbfs)
2021-04-19 22:39:59 +0200carter(sid14827@gateway/web/irccloud.com/x-velgelprbzzboucb)
2021-04-19 22:39:59 +0200entel(uid256215@botters/entel)
2021-04-19 22:40:09 +0200caasih(sid13241@gateway/web/irccloud.com/x-uqzvpjpcsslwgwfl)
2021-04-19 22:40:09 +0200tapas(sid467876@gateway/web/irccloud.com/x-dpxzueexrqylgrju)
2021-04-19 22:40:10 +0200edwardk(sid47016@haskell/developer/edwardk)
2021-04-19 22:40:18 +0200ReinH(sid179972@gateway/web/irccloud.com/x-nocjtzmybziqzfuj)
2021-04-19 22:40:19 +0200natim87(sid286962@gateway/web/irccloud.com/x-zjxraovaekqnvloq)
2021-04-19 22:40:20 +0200thi(sid97277@gateway/web/irccloud.com/x-mwvssirlkplfqvqk)
2021-04-19 22:40:32 +0200yogani(sid42623@gateway/web/irccloud.com/x-diwllcjriwggxbhg)
2021-04-19 22:40:34 +0200mcfilib(sid302703@gateway/web/irccloud.com/x-qgurzruyjowxqkfb)
2021-04-19 22:40:35 +0200moobar(sid171730@gateway/web/irccloud.com/x-mfdnwzlgpjfftngj)
2021-04-19 22:40:36 +0200simony(sid226116@gateway/web/irccloud.com/x-uimvkkhkkjmffmgk)
2021-04-19 22:40:40 +0200jonrh(sid5185@gateway/web/irccloud.com/x-wzkchmmanupyucfa)
2021-04-19 22:40:40 +0200verlet64_(sid261276@gateway/web/irccloud.com/x-pbadcyendmqwahig)
2021-04-19 22:40:44 +0200affinespaces(sid327561@gateway/web/irccloud.com/x-zprmbywljksowyax)
2021-04-19 22:41:07 +0200fendor(~fendor@178.115.130.32.wireless.dyn.drei.com) (Remote host closed the connection)
2021-04-19 22:41:45 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 22:42:32 +0200rodriga(~quassel@134.204.25.66) (Ping timeout: 240 seconds)
2021-04-19 22:45:41 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-19 22:48:37 +0200usr25(~usr25@unaffiliated/usr25)
2021-04-19 22:48:57 +0200raichoo(~raichoo@dslb-178-009-065-077.178.009.pools.vodafone-ip.de) (Read error: Connection reset by peer)
2021-04-19 22:49:09 +0200alx741(~alx741@181.196.68.199)
2021-04-19 22:54:05 +0200raichoo(~raichoo@dslb-178-009-065-077.178.009.pools.vodafone-ip.de)
2021-04-19 22:54:52 +0200Sornaens1(~Sornaensi@85.203.36.21) (Ping timeout: 265 seconds)
2021-04-19 22:56:21 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-04-19 22:58:12 +0200quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2021-04-19 23:00:05 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c)
2021-04-19 23:00:53 +0200jneira(501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182)
2021-04-19 23:01:11 +0200knupfer(~Thunderbi@200116b82b68a2004db076fcee496007.dip.versatel-1u1.de) (Ping timeout: 250 seconds)
2021-04-19 23:04:20 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-19 23:04:47 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-19 23:06:21 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-19 23:06:49 +0200fiedlr(~fiedlr@83.148.33.254) (Read error: Connection reset by peer)
2021-04-19 23:07:26 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-19 23:07:32 +0200usr25(~usr25@unaffiliated/usr25) (Ping timeout: 240 seconds)
2021-04-19 23:09:30 +0200barakkl1993(~barakkley@2.55.141.207)
2021-04-19 23:09:33 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 23:12:21 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 23:13:24 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 23:14:21 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
2021-04-19 23:14:58 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 23:16:21 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-19 23:17:32 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-19 23:17:33 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-04-19 23:18:13 +0200Lycurgus(~niemand@98.4.118.65)
2021-04-19 23:19:02 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-19 23:20:04 +0200fiedlr_(~fiedlr@83.148.33.254)
2021-04-19 23:23:40 +0200fiedlr(~fiedlr@83.148.33.254) (Ping timeout: 252 seconds)
2021-04-19 23:24:06 +0200michalz(~user@185.246.204.56) (Remote host closed the connection)
2021-04-19 23:24:47 +0200Sgeo_(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-04-19 23:24:59 +0200guy9(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net)
2021-04-19 23:25:46 +0200MrFantastik(~user@rrcs-184-74-43-235.nys.biz.rr.com) (Ping timeout: 240 seconds)
2021-04-19 23:25:52 +0200 <guy9> is anyone there
2021-04-19 23:25:52 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
2021-04-19 23:26:03 +0200 <lechner> yes
2021-04-19 23:26:13 +0200 <ski> no
2021-04-19 23:26:28 +0200 <guy9> I have a question about installing a package with cabal
2021-04-19 23:26:34 +0200 <guy9> is this the right place to ask
2021-04-19 23:26:47 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-19 23:26:56 +0200 <ski> yes, this is an appropriate channel for such a question
2021-04-19 23:27:07 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-04-19 23:27:07 +0200 <guy9> okay, thanks
2021-04-19 23:27:12 +0200 <ski> (try asking, and someone might take it up and try to answer)
2021-04-19 23:27:46 +0200fiedlr_(~fiedlr@83.148.33.254) (Read error: Connection reset by peer)
2021-04-19 23:28:28 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-04-19 23:28:59 +0200 <guy9> I had installed a package using cabal previously and it had worked just fine. I have no idea what I could have done differently this time around, but the package fails to install. It seems like there is a constraint for cabal versions >=1.7 && <1.25
2021-04-19 23:29:17 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-19 23:29:21 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 23:29:21 +0200 <guy9> checking the .cabal file of the package shows no such constraint, though
2021-04-19 23:29:38 +0200slack1256(~slack1256@200-112-79-98.baf.movistar.cl)
2021-04-19 23:31:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-19 23:31:18 +0200 <slack1256> On `Katip` given the `MonadIO` constaint on the class, how could a define a dummy unefectful instance for testing?
2021-04-19 23:31:21 +0200 <geekosaur> that means it found an old option in the cabal file that is no longer supported by modern cabal
2021-04-19 23:31:57 +0200 <geekosaur> I should say Cabal, the library, rather than cabal the program
2021-04-19 23:32:34 +0200 <geekosaur> so what has changed is Cabal and cabal-install are probably version 3.x instead of 1.x
2021-04-19 23:32:44 +0200 <guy9> it seems like it is trying to use cabal-install version 3.2.1, though when I do cabal --version it says I have 3.4.0
2021-04-19 23:34:36 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-19 23:35:00 +0200 <monochrom> It is a really tall order to write your own uneffectful instance of MonadIO.
2021-04-19 23:36:13 +0200 <guy9> I have a feeling that reinstalling cabal may be something to try
2021-04-19 23:36:33 +0200 <guy9> although I think I've been unsuccessful ateven  that so far
2021-04-19 23:37:01 +0200 <sclv> guy9 i would check for a package environment file
2021-04-19 23:37:39 +0200 <monochrom> I would think it is more worth your time to allow IO to happen, but run your exe in a container or virtual machine, complete with various redirection and emulation techniques at that level, if you're trying to achieve mock testing.
2021-04-19 23:38:08 +0200 <guy9> I'm not even sure when to look to be honest
2021-04-19 23:38:21 +0200 <guy9> or what exactly I would be looking for
2021-04-19 23:39:22 +0200fiedlr(~fiedlr@83.148.33.254) (Read error: Connection reset by peer)
2021-04-19 23:39:57 +0200 <slack1256> monochrom: Mmmm that also seems like a tall order. But at least is more "honest".
2021-04-19 23:40:56 +0200tatsumaru(~tatsumaru@85.196.189.103)
2021-04-19 23:41:23 +0200{abby}(~{abby}@unaffiliated/demhydraz) (Quit: Ping timeout (120 seconds))
2021-04-19 23:41:33 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-19 23:41:34 +0200st8less(~st8less@2603:a060:11fd:0:f652:5ff0:83f7:3be7)
2021-04-19 23:41:41 +0200{abby}(~{abby}@unaffiliated/demhydraz)
2021-04-19 23:41:55 +0200ludi49(~hryhorij@ip595.t15.ds.pwr.wroc.pl)
2021-04-19 23:42:02 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-19 23:42:05 +0200 <tatsumaru> hey guys, new to haskell, is haskell good for the implementation of complex systems concepts such as ant colony optimization algorithms and adaptive networks etc?
2021-04-19 23:42:08 +0200zeenk(~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75)
2021-04-19 23:43:09 +0200rj(~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-19 23:44:37 +0200 <dmj`> might be a dumb question, but can someone explain to me why these two stable names are not equal?
2021-04-19 23:44:37 +0200 <dmj`> (==) <$> (makeStableName $! m) <*> (makeStableName (let !x = m in x)
2021-04-19 23:44:43 +0200 <guy9> I see one big place where I was going wrong
2021-04-19 23:44:48 +0200 <guy9> I'm pretty new to this
2021-04-19 23:44:57 +0200 <sm[m]> tatsumaru:
2021-04-19 23:44:58 +0200 <monochrom> slack1256, both are tall orders, but I say that mocking MonadIO is taller because IO is not a free monad, it's opague, if I give you "foo :: IO Int" you can't examine foo to even begin to mock it, not to mention IRL I give you "foo :: IO X" for a type X you've never seen before. Whereas, in docker or a VM at least you can use stdio redirection, fake files, etc.
2021-04-19 23:44:58 +0200 <sm[m]> yes
2021-04-19 23:44:59 +0200 <guy9> I was trying to diagnose several errors at once
2021-04-19 23:45:36 +0200 <tatsumaru> sm[m]: can you briefly elaborate please, why do you think so
2021-04-19 23:46:39 +0200 <sm[m]> tatsumaru: it is an expressive language with good support for abstraction and modelling with types, so can be good for complex/unclear domains
2021-04-19 23:46:59 +0200 <sm[m]> also it's quite fast, which can be useful
2021-04-19 23:47:10 +0200 <ski> dmj` : `let !x = m in x' is equal to `m'
2021-04-19 23:47:14 +0200 <slack1256> monochrom++
2021-04-19 23:47:16 +0200 <guy9> geekosaur, do you think I should try to install a 1.x version of cabal and try that way?
2021-04-19 23:47:22 +0200 <tatsumaru> sm[m] "fast" as in good for number crunching?
2021-04-19 23:47:42 +0200Lycurgus(~niemand@98.4.118.65) (Quit: Exeunt)
2021-04-19 23:48:19 +0200rj(~x@gateway/tor-sasl/rj)
2021-04-19 23:48:31 +0200 <geekosaur> guy9, that's not really recommended either, cabal 3 changed things for good reason. (look up "cabal hell" sometime, although it was really ghc's fault)
2021-04-19 23:48:54 +0200 <dmj`> ski: yea but its forced
2021-04-19 23:48:55 +0200 <sm[m]> generally fast. It's not the best for number crunching, not the worst. It's among the best for knowing that you're crunching the right numbers though
2021-04-19 23:49:03 +0200 <sclv> guy9 what package? Is it in hackage?
2021-04-19 23:49:08 +0200 <dmj`> ski: StableNames will check pointer equality
2021-04-19 23:49:20 +0200 <tatsumaru> sm[m] i see, thank you
2021-04-19 23:49:28 +0200 <guy9> I am definitely learning the meaning of cabal hell
2021-04-19 23:49:35 +0200 <dmj`> ski: I think the let is performing an allocation and its pointer differs
2021-04-19 23:49:37 +0200__minoru__shirae(~shiraeesh@5.101.59.44) (Ping timeout: 260 seconds)
2021-04-19 23:49:38 +0200 <guy9> sclv it's Euterpea
2021-04-19 23:49:55 +0200 <guy9> yes it's in Hackage
2021-04-19 23:49:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-04-19 23:51:04 +0200 <sclv> yeah its got busts because it needs to be updated https://matrix.hackage.haskell.org/#/package/Euterpea/2.0.7/ghc-8.10.1@1591706735
2021-04-19 23:51:25 +0200 <sm[m]> guy9: general info: you may not be doing anything differently.. cabal's installations depend on the current state of hackage and of your local machine, by default
2021-04-19 23:51:41 +0200 <guy9> does that mean there's not much I can do and it's not my fault?
2021-04-19 23:52:01 +0200 <sclv> its not your fault, but that doesn't mean it can't be fixed
2021-04-19 23:52:32 +0200 <ski> dmj` : `makeStableName $! m' should be equal to `let !x = m in makeStableName x'. `do !x <- return m; makeStableName x' / `makeStableName =<< evaluate m' is slightly different, only forcing when the action is executed (rather than merely forced)
2021-04-19 23:52:48 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-04-19 23:52:53 +0200 <dmj`> ski: (\f v -> let !v = x in f v) should be equivalent to (\f v -> f $! v)
2021-04-19 23:53:07 +0200 <sclv> you can `cabal unpack` the package, then apply instructions here, then install it from the unpacked source, for example https://github.com/Euterpea/Euterpea2/issues/35
2021-04-19 23:53:24 +0200 <ski> dmj` : yes. but `f (let !v = x in f v)' is different
2021-04-19 23:53:49 +0200 <sclv> that ticket also suggests just calling `v1-install` may work but idk if thats true
2021-04-19 23:54:11 +0200 <guy9> wow
2021-04-19 23:54:13 +0200 <guy9> that worked
2021-04-19 23:54:17 +0200 <guy9> you are a wizard
2021-04-19 23:54:33 +0200 <guy9> thanks for showing me all of this stuff
2021-04-19 23:54:38 +0200 <dmj`> ski: how does (\f v -> f (let !v = m in v)) not equal (\f v -> let !v = m in f v)
2021-04-19 23:54:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-19 23:54:46 +0200 <guy9> I'm super new to this and there is so much to learn
2021-04-19 23:55:06 +0200 <ski> dmj` : the former won't force `m', unless `f' is strict. the latter will
2021-04-19 23:55:14 +0200Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-04-19 23:55:22 +0200 <guy9> okay v1 failed somewhere else but I know I'm going in the right direction
2021-04-19 23:55:29 +0200 <dmj`> ski: so makeStableName isn't strict then
2021-04-19 23:55:31 +0200 <sclv> guy9: glad it worked! its just me digging into their issue tracker to see if it was fixed :-)
2021-04-19 23:55:51 +0200 <sclv> you could also just try to clone the repo, which is reputedly more up too date than the hackage release
2021-04-19 23:55:55 +0200 <guy9> honestly I didn't even know there were issue trackers
2021-04-19 23:55:55 +0200m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-04-19 23:56:08 +0200 <guy9> I have tried cloning it and it fails at the same place
2021-04-19 23:56:27 +0200 <sclv> sadly it seems relatively unmaintained :-/
2021-04-19 23:56:43 +0200 <sclv> donya is very nice but she's more a musician than a hacker
2021-04-19 23:56:55 +0200 <sclv> (i saw her perform and it was brilliant!)
2021-04-19 23:57:23 +0200 <sclv> with paul hudak's group, a lot of the stuff he worked on is maintained only partially as labors of love
2021-04-19 23:57:39 +0200 <sclv> or rather with his group gone following his death
2021-04-19 23:58:17 +0200 <ski> dmj` : "Note in particular that `makeStableName' may return a different `StableName' after an object is evaluated." <https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base-4.15.0.0/System-Mem-StableName.…>
2021-04-19 23:58:34 +0200 <guy9> you seem so knowledgeable on all of this
2021-04-19 23:58:45 +0200 <guy9> I'm just some guy who picked up the book for the first time
2021-04-19 23:59:32 +0200 <ski> (conceptually, you could think of this as `makeStableName' also reading and writing some other state (or, if you prefer, you can "explain it away" using indeterminacy) in the `IO', making it possibly give different results, when invoked (not called) on equal objects)
2021-04-19 23:59:35 +0200 <dmj`> ski: that's super tricky