Home liberachat/#haskell: Logs Calendar

Logs on 2021-05-21 (liberachat/#haskell)

08:00:58 ircbrowse_tom joins (~ircbrowse@64.225.78.177)
08:00:58 Server sets mode +nt
08:01:41 × heath quits (~heath@68.68.64.38) (Ping timeout: 258 seconds)
08:01:42 nitrix joins (~nitrix@ns569831.ip-51-79-81.net)
08:02:05 nitrix is now known as Guest7426
08:04:30 killsushi_ joins (~killsushi@2607:fea8:3d40:767:707b:b3b8:c407:1243)
08:04:30 × killsushi_ quits (~killsushi@2607:fea8:3d40:767:707b:b3b8:c407:1243) (Changing host)
08:04:30 killsushi_ joins (~killsushi@user/killsushi/x-5912268)
08:05:11 GZJ0X_ joins (~GZJ0X@185.212.59.97.16clouds.com)
08:06:26 pe200012 joins (~pe200012@218.107.17.245)
08:06:48 × tose quits (~tose@ip-85-160-9-220.eurotel.cz) (Ping timeout: 245 seconds)
08:08:15 nitrix joins (~nitrix@ns569831.ip-51-79-81.net)
08:08:33 obfusk_ joins (~quassel@a82-161-150-56.adsl.xs4all.nl)
08:08:38 nitrix is now known as Guest3497
08:08:40 × aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
08:08:48 jco_ joins (~jco@c83-248-173-38.bredband.tele2.se)
08:09:45 lortabac_ joins (~lortabac@2a01:e0a:541:b8f0:9c88:d7f4:4abf:ede1)
08:10:58 sszark1 joins (~sszark@h-85-24-213-180.A392.priv.bahnhof.se)
08:11:09 × pe200012 quits (~pe200012@218.107.17.245) (Quit: Konversation terminated!)
08:11:34 aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de)
08:11:59 pe200012 joins (~pe200012@119.131.208.84)
08:12:36 russruss1 joins (~russruss@my.russellmcc.com)
08:13:07 × flounders quits (~flounders@173.246.200.33) (Remote host closed the connection)
08:13:30 flounders joins (~flounders@173.246.200.33)
08:13:53 × jonn quits (~sweater@206.81.18.26) (Ping timeout: 264 seconds)
08:13:59 × Guest7426 quits (~nitrix@ns569831.ip-51-79-81.net) (*.net *.split)
08:13:59 × gzj quits (~GZJ0X@185.212.59.97.16clouds.com) (*.net *.split)
08:13:59 × pe200012_ quits (~pe200012@120.236.162.14) (*.net *.split)
08:13:59 × notzmv quits (~zmv@user/notzmv) (*.net *.split)
08:13:59 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:9c88:d7f4:4abf:ede1) (*.net *.split)
08:13:59 × killsushi quits (~killsushi@user/killsushi) (*.net *.split)
08:13:59 × jco quits (~jco@c83-248-173-38.bredband.tele2.se) (*.net *.split)
08:13:59 × Square quits (~Squarism4@90-231-27-135-no51.tbcn.telia.com) (*.net *.split)
08:13:59 × russruss quits (~russruss@my.russellmcc.com) (*.net *.split)
08:13:59 × obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split)
08:13:59 × sszark quits (~sszark@h-85-24-213-180.A392.priv.bahnhof.se) (*.net *.split)
08:13:59 russruss1 is now known as russruss
08:15:05 × SethTisue quits (sid14912@charlton.irccloud.com) (Ping timeout: 264 seconds)
08:15:05 × Ekho quits (~Ekho@user/ekho) (Ping timeout: 264 seconds)
08:15:08 heath joins (~heath@68.68.64.38)
08:15:29 jonn joins (~sweater@206.81.18.26)
08:16:17 SethTisue joins (sid14912@id-14912.charlton.irccloud.com)
08:16:27 Ekho joins (~Ekho@user/ekho)
08:16:58 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 264 seconds)
08:17:51 × jhill quits (sid1055@tinside.irccloud.com) (Ping timeout: 264 seconds)
08:17:51 × Xe quits (~cadey@user/xe) (Ping timeout: 264 seconds)
08:17:52 stefan-_ joins (~cri@42dots.de)
08:17:54 Cadey joins (~cadey@user/xe)
08:18:05 × acowley quits (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Ping timeout: 264 seconds)
08:18:07 jhill_ joins (sid1055@id-1055.tinside.irccloud.com)
08:18:51 ddellacosta joins (~ddellacos@89.46.62.33)
08:19:09 jakzale joins (uid499518@id-499518.charlton.irccloud.com)
08:19:43 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
08:20:00 amk joins (~amk@176.61.106.150)
08:20:26 Square joins (~Squarism4@90-231-27-135-no51.tbcn.telia.com)
08:20:29 × nsilv quits (~nsilv@212.103.198.210) (Ping timeout: 248 seconds)
08:20:42 acowley joins (~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
08:21:06 × GZJ0X_ quits (~GZJ0X@185.212.59.97.16clouds.com) (Remote host closed the connection)
08:23:03 × ddellacosta quits (~ddellacos@89.46.62.33) (Ping timeout: 245 seconds)
08:24:15 gzj joins (~GZJ0X@185.212.59.97.16clouds.com)
08:24:17 × stefan-_ quits (~cri@42dots.de) (Quit: ZNC 1.6.3+deb1ubuntu0.2 - http://znc.in)
08:24:30 stefan-_ joins (~cri@42dots.de)
08:25:19 heath joins (~heath@68.68.64.38)
08:26:20 nsilv joins (~nsilv@212.103.198.210)
08:28:23 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
08:31:35 × Morrow quits (~Morrow@147.161.13.14) (Ping timeout: 265 seconds)
08:31:35 × jco_ quits (~jco@c83-248-173-38.bredband.tele2.se) (Read error: Connection reset by peer)
08:33:28 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
08:36:35 heath joins (~heath@68.68.64.38)
08:38:29 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:5506:236:73f0:6f7a) (Remote host closed the connection)
08:38:57 xwx joins (~george@user/george)
08:39:03 exzeta joins (~exzeta@client-8-84.eduroam.oxuni.org.uk)
08:40:46 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:41:14 peterd joins (~petrus@catv-86-101-33-147.catv.broadband.hu)
08:42:59 horex539 joins (~horex539@2a02:a03f:6aa5:a00:5506:236:73f0:6f7a)
08:43:53 irc_user joins (uid423822@id-423822.tooting.irccloud.com)
08:43:53 × heath quits (~heath@68.68.64.38) (Ping timeout: 260 seconds)
08:43:55 xaotuk joins (~xaotuk@89.110.231.41)
08:45:08 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
08:45:20 heath joins (~heath@68.68.64.38)
08:45:21 × xaotuk quits (~xaotuk@89.110.231.41) (Quit: WeeChat 3.1)
08:48:55 scav joins (sid309693@id-309693.brockwell.irccloud.com)
08:49:39 amahl joins (~amahl@dxv5skyhvr3g5s4my3mky-3.rev.dnainternet.fi)
08:49:49 × heath quits (~heath@68.68.64.38) (Ping timeout: 248 seconds)
08:51:28 heath joins (~heath@68.68.64.38)
08:51:49 xaotuk joins (~xaotuk@89.110.231.41)
08:53:44 × scav quits (sid309693@id-309693.brockwell.irccloud.com) ()
08:53:56 scav joins (sid309693@id-309693.brockwell.irccloud.com)
08:54:41 × fendor_ quits (~fendor@178.115.59.240.wireless.dyn.drei.com) (Remote host closed the connection)
08:56:08 × heath quits (~heath@68.68.64.38) (Ping timeout: 260 seconds)
08:56:25 Robin_Jadoul joins (~Robin_Jad@152.67.64.160)
08:56:59 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:5506:236:73f0:6f7a) (Remote host closed the connection)
08:57:17 <pe200012> > print
08:57:19 <lambdabot> <() -> IO ()>
08:57:38 <pe200012> > print 1
08:57:40 <lambdabot> <IO ()>
08:57:54 <pe200012> > (+1) <$> [1.10 ^ 10]
08:57:56 <lambdabot> [3.593742460100002]
08:57:56 dminuoso prepares his MMR answer card for pe200012
08:59:16 heath joins (~heath@68.68.64.38)
09:01:23 × madjestic quits (~madjestic@88.159.247.120) (Ping timeout: 245 seconds)
09:03:01 Aran joins (~Aran@port-92-194-80-170.dynamic.as20676.net)
09:03:08 × pe200012 quits (~pe200012@119.131.208.84) (Quit: Konversation terminated!)
09:03:26 pe200012 joins (~pe200012@119.131.208.84)
09:04:13 × heath quits (~heath@68.68.64.38) (Ping timeout: 248 seconds)
09:04:13 × amahl quits (~amahl@dxv5skyhvr3g5s4my3mky-3.rev.dnainternet.fi) (Ping timeout: 248 seconds)
09:06:06 wonko joins (~wjc@62.115.229.50)
09:08:00 heath joins (~heath@68.68.64.38)
09:11:13 × juhp quits (~juhp@128.106.188.199) (Read error: Connection reset by peer)
09:11:25 juhp joins (~juhp@128.106.188.199)
09:12:38 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
09:12:46 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:4074:661e:32e7:5683)
09:13:39 madjestic joins (~madjestic@88.159.247.120)
09:14:05 cfricke joins (~cfricke@user/cfricke)
09:15:44 Cadey is now known as Xe
09:19:00 heath joins (~heath@68.68.64.38)
09:20:38 × km` quits (~user@220.240.84.227) (Ping timeout: 260 seconds)
09:22:11 prop joins (hugh@107.161.19.109)
09:23:02 × geekosaur quits (~allbery_b@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
09:23:41 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
09:25:08 heath joins (~heath@68.68.64.38)
09:28:28 × taktoa[c] quits (sid282096@tinside.irccloud.com) (Ping timeout: 272 seconds)
09:28:54 chele joins (~chele@user/chele)
09:29:14 dogu joins (~dogu@84.51.63.109)
09:29:39 taktoa[c] joins (sid282096@id-282096.tinside.irccloud.com)
09:29:58 × heath quits (~heath@68.68.64.38) (Ping timeout: 260 seconds)
09:30:21 × chele_ quits (~chele@user/chele) (Ping timeout: 248 seconds)
09:31:33 × dogu quits (~dogu@84.51.63.109) (Client Quit)
09:32:10 geekosaur joins (~allbery_b@069-135-003-034.biz.spectrum.com)
09:32:53 × jmct quits (sid160793@tinside.irccloud.com) (Ping timeout: 272 seconds)
09:33:14 × Sigi quits (Sigi@107.161.19.109) (Quit: Connection closed)
09:33:32 × hongminhee quits (sid295@tinside.irccloud.com) (Ping timeout: 272 seconds)
09:34:10 ggVGc joins (~ggVGc@a.lowtech.earth)
09:34:10 × jackdk quits (sid373013@tinside.irccloud.com) (Ping timeout: 272 seconds)
09:34:50 jmct joins (sid160793@id-160793.tinside.irccloud.com)
09:34:53 python476 joins (~user@88.160.31.174)
09:34:55 <python476> o/
09:34:59 hongminhee joins (sid295@id-295.tinside.irccloud.com)
09:35:29 heath joins (~heath@68.68.64.38)
09:35:38 jackdk joins (sid373013@id-373013.tinside.irccloud.com)
09:37:37 tose joins (~tose@ip-85-160-9-220.eurotel.cz)
09:37:39 <bjs> Wonder how many left on the other network are just perpetual AFK
09:37:40 <bjs> I spy a jmct
09:39:57 × heath quits (~heath@68.68.64.38) (Ping timeout: 248 seconds)
09:40:40 peterd parts (~petrus@catv-86-101-33-147.catv.broadband.hu) (WeeChat 3.1)
09:41:04 boxscape joins (boxscape@107.161.19.109)
09:41:05 kosmikus joins (~kosmikus@nullzig.kosmikus.org)
09:41:06 heath joins (~heath@68.68.64.38)
09:42:07 Gurkenglas joins (~Gurkengla@dslb-088-075-022-175.088.075.pools.vodafone-ip.de)
09:42:19 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
09:42:38 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 245 seconds)
09:42:41 john2gb joins (~john2gb@94-225-47-8.access.telenet.be)
09:44:44 × madjestic quits (~madjestic@88.159.247.120) (Ping timeout: 252 seconds)
09:45:46 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
09:45:47 spoonm joins (~spoonm@tokyo.spoonm.org)
09:46:53 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
09:47:57 heath joins (~heath@68.68.64.38)
09:49:14 holy_ joins (~h01y_b4z0@2400:adc1:178:c800:9e45:76a9:57f2:1665)
09:52:26 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
09:53:43 Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr)
09:56:14 davve joins (davve@bsd.douchedata.com)
09:56:20 heath joins (~heath@68.68.64.38)
09:56:23 × nsilv quits (~nsilv@212.103.198.210) (Ping timeout: 245 seconds)
09:56:52 jonathanclarke joins (~jonathanc@110.44.115.201)
10:00:14 __monty__ joins (~toonn@d51A54E75.access.telenet.be)
10:01:14 × heath quits (~heath@68.68.64.38) (Ping timeout: 252 seconds)
10:02:05 nsilv joins (~nsilv@212.103.198.210)
10:02:20 <[exa]> bjs: a lot
10:05:51 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.1)
10:05:52 heath joins (~heath@68.68.64.38)
10:06:31 × juhp quits (~juhp@128.106.188.199) (Quit: juhp)
10:06:45 juhp joins (~juhp@128.106.188.199)
10:07:39 notzmv joins (~zmv@user/notzmv)
10:09:15 × gzj quits (~GZJ0X@185.212.59.97.16clouds.com) (Remote host closed the connection)
10:10:21 × tose quits (~tose@ip-85-160-9-220.eurotel.cz) (Ping timeout: 245 seconds)
10:12:01 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
10:12:12 protoYoyo parts (~protoYoyo@2a03:1b20:a:f011::a01d) (Leaving)
10:14:33 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
10:15:26 heath joins (~heath@68.68.64.38)
10:15:33 titusg joins (~user@193.62.188.148)
10:16:58 × doublex quits (~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) (Ping timeout: 264 seconds)
10:18:23 × titusg quits (~user@193.62.188.148) (Quit: ERC (IRC client for Emacs 26.3))
10:18:58 titusg joins (~user@193.62.188.148)
10:19:00 × Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Quit: ran away)
10:20:08 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
10:21:06 heath joins (~heath@68.68.64.38)
10:21:51 × juhp quits (~juhp@128.106.188.199) (Quit: juhp)
10:22:04 juhp joins (~juhp@128.106.188.199)
10:22:58 × wonko quits (~wjc@62.115.229.50) (Changing host)
10:22:58 wonko joins (~wjc@user/wonko)
10:24:29 dyeplexer joins (~terpin@183.87.245.219)
10:24:52 <boxscape> yay just got my first ghc commit merged
10:25:33 × xwx quits (~george@user/george) (Ping timeout: 245 seconds)
10:25:36 × dyeplexer quits (~terpin@183.87.245.219) (Changing host)
10:25:36 dyeplexer joins (~terpin@user/dyeplexer)
10:25:46 × heath quits (~heath@68.68.64.38) (Ping timeout: 245 seconds)
10:26:15 × dyeplexer quits (~terpin@user/dyeplexer) (Client Quit)
10:28:34 MidAutumnMoon joins (~MidAutumn@47.57.12.162)
10:28:45 dyeplexer joins (~dyeplexer@user/dyeplexer)
10:29:03 × satai quits (~satai@ip-37-188-228-35.eurotel.cz) (Quit: satai)
10:31:03 samhh joins (~samhh@90.252.103.244)
10:31:46 × nsilv quits (~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1)
10:34:37 <cjay> nice
10:34:43 × Robin_Jadoul quits (~Robin_Jad@152.67.64.160) (Ping timeout: 260 seconds)
10:35:04 juhp is now known as petersen
10:38:04 × wonko quits (~wjc@user/wonko) (Quit: See You Space Cowboy..)
10:50:25 wonko joins (~wjc@62.115.229.50)
10:51:00 pcapriotti joins (pcapriotti@107.161.19.109)
10:51:14 azeem74 joins (azeem@107.161.19.109)
10:51:21 lambdadog joins (~user@136.55.166.148)
10:53:02 <tomsmeding> 🎉
10:53:21 × azeem74 quits (azeem@107.161.19.109) (Client Quit)
10:54:30 <Hecate> hurray boxscape
10:54:37 <boxscape> :)
10:55:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
10:56:31 × pcapriotti quits (pcapriotti@107.161.19.109) (Quit: Connection closed)
10:57:00 × lambdadog quits (~user@136.55.166.148) (Quit: rcirc on GNU Emacs 28.0.50)
10:57:26 <prop> i was surprised at how quickly certain names were taken
10:57:30 <prop> i wanted to take my forename
10:57:32 <prop> but no chance
10:57:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:57:35 <prop> or middle name, no chance
10:57:43 <Hecate> I have a question that may sound like cargo culting, but would it be preferable to chain functions, or to call the next one inside the previous one?
10:57:44 lambdadog joins (~user@136.55.166.148)
10:57:57 <prop> what do you mean hecate?
10:58:03 <Hecate> so, chaining functions
10:58:10 <Hecate> foo >== bar >== baz
10:58:35 cfricke joins (~cfricke@user/cfricke)
10:58:41 <boxscape> as in (flip .)?
10:58:42 <Hecate> or foo x = bar x ; bar y = baz y
10:58:47 <boxscape> as in (flip (.))?*
10:58:51 <Taneb> Hecate: I'd say chaining functions here
10:59:00 <Hecate> (with a meaningful transformation of the argument inside each function, I'm not just inlining)
10:59:14 <Hecate> Taneb: ok :) That's what I thought
10:59:21 <Taneb> It means you can re-use them or test them individually easier
10:59:24 Robin_Jadoul joins (~Robin_Jad@152.67.64.160)
10:59:26 <Hecate> yup
10:59:39 <Hecate> yeah I guess continuations have some legit usage at a lower-level
10:59:46 <prop> ooooh you mean to compose or write the call inside the function
11:00:12 pcapriotti joins (pcapriotti@107.161.19.109)
11:00:21 <Hecate> yep
11:00:52 × pcapriotti quits (pcapriotti@107.161.19.109) (Client Quit)
11:01:05 <prop> i think sometimes for recursive functions at least, it is better to leave it with its fixed point argument
11:01:18 <prop> the reason being is that there are caching libraries that can use the fixed point argument if i remember correctly
11:01:31 <prop> but this depends on the situation ofc as to whether it matters
11:01:34 × wonko quits (~wjc@62.115.229.50) (Changing host)
11:01:34 wonko joins (~wjc@user/wonko)
11:01:49 <Hecate> oki doki!
11:02:10 <dminuoso> Hecate: Personally Im quite fond of binding things in where clauses
11:02:26 infinisil joins (~infinisil@mail.infinisil.com)
11:02:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
11:03:05 <dminuoso> Function composition is more useful when the composition itself has interesting structure, properties or reuse value
11:03:17 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:04:07 <Hecate> I'm not sure what you suggest applies in the question I was asking (composition/piping vs continuations) although I am indeed fond of where clauses myself
11:04:14 <maerwald> yeah, I also use $ more than ., unless . somehow feels right
11:04:29 fendor joins (~fendor@178.115.59.240.wireless.dyn.drei.com)
11:04:43 <boxscape> don't tell ski
11:04:57 <dminuoso> Hecate: well, its a sort of in between. rather than writing `foo (bar (quux x))` I might write `f = foo special where special = bar (quux x)`
11:05:07 fendor_ joins (~fendor@178.115.59.240.wireless.dyn.drei.com)
11:05:21 <dminuoso> Its hard to put into words, it largely depends on whether I want to put the focus and naming of things on the value itself, or the function.
11:05:31 <Hecate> dminuoso: yeah that's still composition :3 at a lower-leve/codegen I doubt it changes much
11:05:39 × knyppeldynan quits (~kristina@h-178-174-136-151.NA.cust.bahnhof.se) (Quit: Lost terminal)
11:05:52 <boxscape> Oh is that what the question was about? I had assumed it was about readability
11:06:04 <dminuoso> XY territory now. :)
11:06:26 <prop> ? am confused too ?
11:06:40 <Hecate> Taneb had a great point about testability in favour of chaining functions
11:07:02 <Hecate> so I'll stick with chaining
11:07:09 <Hecate> and will leave continuations to the compiler
11:07:14 <dminuoso> Im quite confused now.
11:07:25 × infinisil quits (~infinisil@mail.infinisil.com) (Quit: Configuring ZNC, sorry for the joins/quits!)
11:07:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
11:08:03 infinisil joins (~infinisil@mail.infinisil.com)
11:08:25 <dminuoso> Hecate: What, to you, is the difference between "chaining functions" and "calling the next one inside the previous one"?
11:08:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:08:38 <dminuoso> Your pseudo code examples don't parse in my head
11:09:16 knyppeldynan joins (~kristina@h-178-174-136-151.NA.cust.bahnhof.se)
11:10:02 <Hecate> at the code level, function composition is flat
11:10:13 <prop> personally i try to leave everything as point free as i can, but i think it is just a matter of taste really
11:10:25 <prop> it is what you like?
11:10:44 <dminuoso> "flat"?
11:10:45 <Hecate> whereas with calling the next one inside the previous one, you call one function in your call-site, and this function will call the rest of the functions for you
11:10:51 <__monty__> dminuoso: `f . g` vs `f x = something (g x)`
11:11:09 <__monty__> Where the first f would be `f = something`.
11:11:13 <dminuoso> __monty__: Yeah Im not sure, they sound.. confused..
11:11:21 <Hecate> let me write a pastebin
11:13:03 <Hecate> https://paste.tomsmeding.com/S7s8xhmO dminuoso
11:13:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
11:13:37 <dminuoso> So first, those are not continuations.
11:13:41 <Hecate> ah, great
11:13:44 <prop> when should i use haskell.nix or cabal2nix? i'm annoyed at not having the right system dependencies like C libraries on different machines. also if i use nix can i run haskell binaries on other computers?
11:13:51 <dminuoso> Secondly, you seem to be mixing monad bind and function call here.
11:14:01 <dminuoso> So Im still not sure what you are asking about, exactly
11:14:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:14:11 <dminuoso> Function composition is (.), not (>>=)
11:14:21 <dminuoso> The monadic equivalent of function composition is (>=>/<=<)
11:14:24 <Hecate> prop: cabal2nix and haskell.nix are when you want nix to handle your haskell dependencies
11:14:42 <Hecate> prop: for system deps like C libraries, just write a shell.nix
11:14:54 <Hecate> prop: or use stack with nix support in the stack.yaml
11:15:03 <dminuoso> prop: Broadly, callCabal2Nix is closer to stack where you have curated versions, and haskell.nix gives you wider freedom in picking versions.
11:15:11 <dminuoso> (though haskell.nix has a lot of other tooling around it)
11:15:35 <prop> i often run out of memory compiling dependencies on other machines, does this mean i don't have to recompile dependencies?
11:15:40 <prop> i'm confused sorry
11:15:41 <dminuoso> and in fact, nixpkgs is closely aligned with stack resolvers, so depending on your needs that might be too tight.
11:15:44 <prop> like text and stuff
11:16:12 <Hecate> dminuoso: https://paste.tomsmeding.com/hV3B01OO
11:16:19 × fendor_ quits (~fendor@178.115.59.240.wireless.dyn.drei.com) (Quit: Leaving)
11:16:19 Putonlalla joins (~sapekiis@it-cyan.it.jyu.fi)
11:16:27 <Hecate> See the difference? :-P
11:16:36 Putonlalla parts (~sapekiis@it-cyan.it.jyu.fi) ()
11:17:03 <__monty__> prop: Fwiw, I don't think haskell.nix has good (any?) UI around providing external deps yet. The question has come up a bunch recently.
11:18:09 <Hecate> dminuoso: I realise I must have been confused by https://en.wikipedia.org/wiki/Continuation-passing_style#CPS_in_Haskell
11:18:22 Putonlalla joins (~sapekiis@it-cyan.it.jyu.fi)
11:18:24 <dminuoso> prop: and regarding cross compilation, this is one of the reasons haskell.nix exists in the first place. its an extreme PITA to do cross compilation with (call)cabal2nix
11:18:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
11:18:43 × Putonlalla quits (~sapekiis@it-cyan.it.jyu.fi) (Client Quit)
11:19:01 Putonlalla joins (~sapekiis@it-cyan.it.jyu.fi)
11:19:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:19:58 <dminuoso> prop: If you just want to cross compile for a single target, its not an issue though.
11:20:12 <dminuoso> but if you want to have a matrix of targets, then you will want to start with haskell.nix right off the bat
11:20:42 <prop> what do you mean by cross compile for a single target? i'd like it to run on mac os because my friend has that and also fedora because that's my laptop and ubuntu because that's my server
11:21:09 <dminuoso> say you want to ship a binary for various combiations of os/arch/flags
11:21:30 <dminuoso> See https://input-output-hk.github.io/haskell.nix/motivation/
11:21:41 <__monty__> Tbh, I'd say go with haskell.nix from the start regardless. You do have to expect some learning curve though.
11:21:56 <dminuoso> personally Im quite happy with callCabal2nix so far.
11:22:19 <dminuoso> but my packages happen to compile with stackage resolver versions..
11:22:32 <dminuoso> And I dont mind the other issues that spawned haskell.nix, so..
11:24:48 <prop> what exactly is in the binary cache? is it just GHC or do i get the packages i rely upon built for free?
11:24:54 <prop> sorry if it is a bad question
11:25:07 <__monty__> With Nixpkgs infra packages are built.
11:25:22 <__monty__> With haskell.nix you get less caching.
11:27:27 × samhh quits (~samhh@90.252.103.244) (Quit: samhh)
11:27:34 × mike999999x quits (~mike99999@85.132.254.158) (Remote host closed the connection)
11:27:40 samhh joins (~samhh@90.252.103.244)
11:27:41 petersen is now known as juhp
11:27:42 × samhh quits (~samhh@90.252.103.244) (Client Quit)
11:27:54 <prop> ahh so haskell.nix is to make sure that you can actually build it across multiple platforms. then cabal2nix is for building the same package on the same linux distro, possibly speeding it up?
11:28:03 juhp is now known as petersen
11:28:33 <__monty__> No.
11:28:36 samhh joins (~samhh@90.252.103.244)
11:29:16 petersen is now known as juhp
11:29:32 <__monty__> Nixpkgs builds a mix of stackage and hackage. Haskell.nix provides a lot more flexibility. Consequence of that is that it's easy to deviate from what's in the cache, which means you can end up building more stuff.
11:29:52 × exzeta quits (~exzeta@client-8-84.eduroam.oxuni.org.uk) (Remote host closed the connection)
11:30:08 exzeta joins (~exzeta@client-8-84.eduroam.oxuni.org.uk)
11:30:27 <dminuoso> prop: Roughly, cabal2nix turns a single cabal file straight into a nix derivation
11:30:31 × samhh quits (~samhh@90.252.103.244) (Client Quit)
11:30:41 <dminuoso> prop: haskell.nix however, rather turns a cabal build plan into a nix derivation, amongst other things.
11:31:43 <dminuoso> The reason cabal2nix works at all this way, is because in nixpkgs you have - like in stackage resolvers - only one version for each package available in nixpkgs
11:32:06 <__monty__> Reason I switched to haskell.nix is I got tired of manually overriding package versions and the like.
11:32:19 <dminuoso> so if you want to fiddle with constraints, that means you start overlaying for each darn package, and that becomes a lot of work.
11:32:28 <__monty__> Exactly.
11:33:00 <__monty__> If you use a significant number of packages that aren't in stackage you run into that sooner rather than later.
11:33:16 malvo joins (~malvo@malvo.org)
11:34:15 <prop> hmm, it sounds pretty complex thanks. i think i'll go with haskell.nix so i can fiddle
11:34:43 Pseudonym joins (~Pseudonym@118.211.96.219)
11:35:06 <dminuoso> __monty__: Here's my favourite issue: https://github.com/NixOS/nixpkgs/issues/26561
11:35:08 <dminuoso> :P
11:37:51 <maerwald> that sums up nix overall
11:38:04 <maerwald> rabbit holes of complexity
11:38:29 <dminuoso> Yeah, it is quite representative for nix.
11:38:46 samhh joins (~samhh@90.252.103.244)
11:41:23 × samhh quits (~samhh@90.252.103.244) (Client Quit)
11:42:26 × python476 quits (~user@88.160.31.174) (Ping timeout: 245 seconds)
11:44:39 Guest78 joins (Guest78@107.161.19.109)
11:47:03 <prop> could the compiler serialise modules and cache that? say you don't have to type check or anything, just do codegen and stuff
11:47:11 <prop> it seems like a lot of effort though :|
11:48:47 × geekosaur quits (~allbery_b@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
11:48:53 × irc_user quits (uid423822@id-423822.tooting.irccloud.com) (Quit: Connection closed for inactivity)
11:49:08 geekosaur joins (~allbery_b@069-135-003-034.biz.spectrum.com)
11:52:11 × juhp quits (~juhp@128.106.188.199) (Quit: juhp)
11:52:24 juhp joins (~juhp@128.106.188.199)
11:53:09 Raito_Bezarius joins (~Raito@2a01:e0a:5f9:9681:a0a0:bb76:611f:9da7)
11:57:06 <merijn> prop: Metadata is serialised already
11:57:20 <merijn> prop: Or you meant *inside* Nix?
11:57:41 alexander joins (~alexander@user/alexander)
11:58:33 × Raito_Bezarius quits (~Raito@2a01:e0a:5f9:9681:a0a0:bb76:611f:9da7) (Changing host)
11:58:33 Raito_Bezarius joins (~Raito@user/raito-bezarius/x-8759638)
11:59:07 <prop> it probably already does. i was wondering if you actually need to parse a package like text's source code and type check, desugar, or if you just get core with some metadata
11:59:22 <prop> don't worry i'll look it up
11:59:26 <prop> i'm sure the internet has answers
12:00:06 <merijn> prop: GHC builds regular libraries (same you'd get from C/C++/etc.), but the package database also has metadata (module names, types of exported symbols, etc.)
12:00:29 <prop> thank you :)))
12:00:32 × prop quits (hugh@107.161.19.109) (Quit: Connection closed)
12:00:33 <merijn> prop: For inlinable functions it also has preprocessed source to implement inlining while compiling other packages
12:01:46 shiraeeshi joins (~shiraeesh@46.34.207.108)
12:03:53 × malvo quits (~malvo@malvo.org) (Ping timeout: 252 seconds)
12:04:36 malvo joins (~malvo@malvo.org)
12:06:58 xwx joins (~george@user/george)
12:09:16 nsilv joins (~nsilv@212.103.198.210)
12:10:50 × nsilv quits (~nsilv@212.103.198.210) (Client Quit)
12:11:04 nsilv joins (~nsilv@212.103.198.210)
12:11:08 × Guest78 quits (Guest78@107.161.19.109) (Quit: Connection closed)
12:12:59 azeem34 joins (azeem@107.161.19.109)
12:17:23 python476 joins (~user@88.160.31.174)
12:18:50 × alloca quits (~suppi@141.226.14.43) (Quit: WeeChat 2.8)
12:19:05 alloca joins (~suppi@141.226.14.43)
12:19:45 azeem34 is now known as azeem
12:20:14 × alloca quits (~suppi@141.226.14.43) (Client Quit)
12:20:58 ddellacosta joins (~ddellacos@86.106.121.32)
12:22:00 heath joins (~heath@68.68.64.38)
12:22:57 lbseale joins (~lbseale@ip72-194-54-201.sb.sd.cox.net)
12:24:48 × azeem quits (azeem@107.161.19.109) (Quit: Connection closed)
12:25:17 × michalz quits (~user@185.246.204.47) (Ping timeout: 248 seconds)
12:25:21 × ddellacosta quits (~ddellacos@86.106.121.32) (Ping timeout: 245 seconds)
12:25:21 × nsilv quits (~nsilv@212.103.198.210) (Ping timeout: 245 seconds)
12:25:50 haskman joins (~haskman@106.215.53.61)
12:26:43 × heath quits (~heath@68.68.64.38) (Ping timeout: 260 seconds)
12:27:28 <haskman> Do we have a good frictionless online haskell environment?
12:27:57 <Taneb> haskman: what do you mean by online haskell environment here?
12:28:03 <dminuoso> And what do you mean by frictionless?
12:28:30 horex539 joins (~horex539@2a02:a03f:6aa5:a00:d04b:5fe1:dfa9:d5ee)
12:28:35 <haskman> Purescript has something like this - https://try.purescript.org
12:28:58 <haskman> Something that allows me to write code in a module and run it without registrations etc
12:29:07 <haskman> Try Haskell is ofcourse pretty basic
12:29:14 <Taneb> Hmm, I'm not aware of something like that
12:29:37 <maerwald> I'm starting to like viewpatterns as way to avoid a few let bindings
12:29:42 <haskman> Typescript has a fantastic environment -https://www.typescriptlang.org/play
12:30:11 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:d04b:5fe1:dfa9:d5ee) (Remote host closed the connection)
12:30:16 <python476> purescript is very tempting
12:30:17 <haskman> So does ReasonML - https://reasonml.github.io/en/try
12:30:26 horex539 joins (~horex539@2a02:a03f:6aa5:a00:d04b:5fe1:dfa9:d5ee)
12:30:29 <python476> the tutorials are very appealing
12:30:45 <haskman> Purescript is great!
12:30:47 <Taneb> haskman: I note that Purescript and Typescript (I'm not sure about ReasonML) are both designed to compile to JavaScript, and Haskell is not (although it can be)
12:30:57 <python476> you made apps in it haskman ?
12:31:16 <aweinstock> tryhaskell.org looks like it uses hint instead of ghci, and seems to support evaluating expressions, but not commands like :type or :browse
12:31:19 <haskman> Yea I've used both Haskell and PS in production several times now
12:31:22 siers is now known as zn-dev
12:31:27 zn-dev is now known as siers
12:32:20 michalz joins (~user@185.246.204.48)
12:32:21 <haskman> Taneb: the JS backend definitely helps, but I feel the community should have something similar working for Haskell as well
12:33:22 <haskman> aweinstock: Yeah while an online repl is nice, having the ability to create a complete module is invaluable
12:33:34 bm0 joins (~bmo@45.83.220.203)
12:35:20 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:d04b:5fe1:dfa9:d5ee) (Remote host closed the connection)
12:35:45 nsilv joins (~nsilv@212.103.198.210)
12:35:47 × bm0 quits (~bmo@45.83.220.203) (Client Quit)
12:37:21 bmo joins (~bmo@45.83.220.203)
12:37:23 samhh joins (~samhh@90.252.103.244)
12:37:31 × juhp quits (~juhp@128.106.188.199) (Quit: juhp)
12:37:35 bunny parts (~bunny@user/bunny) ()
12:37:45 juhp joins (~juhp@128.106.188.199)
12:38:23 × samhh quits (~samhh@90.252.103.244) (Client Quit)
12:40:00 <boxscape> is there an indexed monad package designed to work with QualifiedDo?
12:40:08 × python476 quits (~user@88.160.31.174) (Ping timeout: 245 seconds)
12:42:12 <boxscape> realistically I probably won't use it because I'm trying to write a script that works with vanilla ghc but I'm curious
12:43:02 × sirodoht quits (uid499766@brockwell.irccloud.com) (Quit: Connection closed for inactivity)
12:44:05 × __monty__ quits (~toonn@d51A54E75.access.telenet.be) (Changing host)
12:44:05 __monty__ joins (~toonn@user/toonn)
12:45:12 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
12:45:21 × bmo quits (~bmo@45.83.220.203) (Ping timeout: 245 seconds)
12:47:50 <arahael> How does one parse a hamlet file (Ie, Yesod Hamlet), into HTML?
12:54:33 × zfnmxt quits (~zfnmxt@206.28.68.51.lunanode-rdns.com) (Changing host)
12:54:33 zfnmxt joins (~zfnmxt@user/zfnmxt)
12:55:16 <arahael> The trouble I have is that I can get a `Q Exp`, and then I have no idea what to do with it.
12:56:56 <xerox> arahael: along the lines of renderHtmlBuilder $(shamletFile "../foo.hamlet")
12:58:03 <arahael> xerox: How did you find that?
12:58:30 <xerox> https://github.com/search?q=shamletFile&type=code (:
12:59:26 <arahael> Hmm, ok, so I'm now wondering how that works... Is the '$(...)' bit a quasi-quoter or something?
12:59:40 <xerox> yeah
12:59:41 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
13:00:18 <xerox> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/template_haskell.html
13:00:24 <xerox> called a "splice" apparently
13:00:33 <nsilv> it's a splice, it basically expands the (Q a) into an a at compile time
13:00:48 erickgnavar joins (~user@189.216.64.154)
13:01:17 <arahael> Interesting. And I can't do it at runtime?
13:01:48 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 245 seconds)
13:02:15 <nsilv> in this case, you're rendering the html at runtime, but constructing the builder (based on the hamlet file) at compile time (cause you're effectively including it at compile time inside your code, and then you're expanding it into generated haskell code)
13:02:38 × xwx quits (~george@user/george) (Ping timeout: 245 seconds)
13:03:02 <arahael> nsilv: Yeah. I was hoping to read the hamlet at runtime.
13:03:22 <nsilv> arahael: and I don't think you can do it exclusively at runtime because iirc hamlet can embed haskell code inside and it gets typeh checked
13:03:40 <arahael> Hmm. So I probalby don't want hamlet, then. I should use a different templating system.
13:03:50 vid0cq joins (vid0cq@107.161.19.109)
13:04:32 moistoreos joins (~moistoreo@99-151-203-47.lightspeed.snantx.sbcglobal.net)
13:04:41 <nsilv> arahael: maybe something like https://hackage.haskell.org/package/ginger ?
13:04:44 Raito_Bezarius is now known as RaitoBezarius
13:05:11 RaitoBezarius is now known as Raito_Bezarius
13:05:27 Raito_Bezarius is now known as RaitoBezarius
13:05:30 RaitoBezarius is now known as Raito_Bezarius
13:05:48 Raito_Bezarius is now known as RaitoBezarius
13:06:05 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
13:07:07 Mark_ joins (uid14803@user/mark/x-9597255)
13:07:11 × RaitoBezarius quits (~Raito@user/raito-bezarius/x-8759638) (Quit: WeeChat 3.0)
13:07:17 <arahael> nsilv: Ginger looks ideal :) And familiar, as well, although I note it doesn't say it's "feature complete".
13:07:27 Raito_Bezarius joins (~Raito@2a01:e0a:5f9:9681:a0a0:bb76:611f:9da7)
13:07:31 × Raito_Bezarius quits (~Raito@2a01:e0a:5f9:9681:a0a0:bb76:611f:9da7) (Changing host)
13:07:31 Raito_Bezarius joins (~Raito@user/raito-bezarius/x-8759638)
13:07:43 Raito_Bezarius is now known as RaitoBezarius
13:07:52 RaitoBezarius is now known as Raito__Bezarius
13:08:06 Raito__Bezarius is now known as RedComet
13:08:49 <arahael> nsilv: And it's written by our very own tdammers, too. :)
13:09:02 RedComet is now known as Raito
13:09:12 <arahael> I'll have to give it a play soon. For now, though, bed time. 11pm and all.
13:09:34 Raito is now known as Raito_Bezarius
13:10:09 <xerox> arahael: looks like you can, the shakespeare module does provide runtime facilities https://hackage.haskell.org/package/shakespeare-2.0.25/docs/Text-Hamlet-Runtime.html
13:10:21 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 245 seconds)
13:10:46 alloca joins (~gilmi@2a03:4000:f:7ca:7407:d1ff:fe34:8cd0)
13:11:28 jrm joins (~jrm@156.34.187.65)
13:12:16 y04nn joins (~y04nn@193.27.14.138)
13:12:46 <nsilv> ah i guess it does have some limitations tho. which makes sense
13:13:32 <arahael> xerox: That might be useful and what I want.
13:14:05 <xerox> just don't get fooled by the word limitations, you can't do those things without compile time parsing no matter which package
13:14:11 <arahael> xerox: I'll probably try that one first, then again, ginger would let me define filters and stuff...
13:14:36 <arahael> But filters probably dont' belong in a template anyway.
13:14:41 × alloca quits (~gilmi@2a03:4000:f:7ca:7407:d1ff:fe34:8cd0) (Changing host)
13:14:41 alloca joins (~gilmi@user/suppi)
13:14:54 <xerox> what are you making?
13:14:59 <arahael> Just generating a static site.
13:15:23 <xerox> I was looking at options for building web services in haskell myself so I got interested in the question
13:15:50 <arahael> So I want to make an exe, which just parses a bunch of templates and spits out something that it shoves into an S3 bucket or something to serve the site from that.
13:16:01 × vid0cq quits (vid0cq@107.161.19.109) (Quit: Connection closed)
13:16:31 <arahael> I _could_ just use the splices, but I'd rather be able to regenerate the site *quickly* every time I make a small change.
13:17:21 <shiraeeshi> arahael: you fit into free quota for s3?
13:18:13 <arahael> shiraeeshi: No, but s3 is cheap.
13:18:27 <arahael> shiraeeshi: The free quota is only for the first year.
13:19:40 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
13:20:58 × nan` quits (~nan`@68.235.43.133) (Ping timeout: 260 seconds)
13:21:44 <arahael> xerox: There are loads of static website generators, but it turns out it's fairly easy to just make one yourself. And I hate how most of them are either badly documented, or a fragile npm mess.
13:21:55 nan` joins (~nan`@68.235.43.93)
13:22:21 <xerox> arahael: go for it!
13:23:02 <xerox> shouldn't be infinitely hard to swap the markup language and/or allow multiple ones anyway
13:24:06 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 245 seconds)
13:24:14 <arahael> xerox: Yeah, I'm basically implementing something jekyll inspired. So, using restructured text with yaml frontmatter (I wanted to use dhall, but yaml turns out to be simpler), and now just need to get the "site" up so that I have something to include these restructured texts in.
13:24:27 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
13:24:41 ChaiTRex joins (~ChaiTRex@user/chaitrex)
13:25:04 <arahael> Entire haskell implemetnation is currently less than 70 lines. I can't imagine it getting to be more than say, 200, once I've implemented all the rules I want in it.
13:25:34 <arahael> Though I imagine that if it works out, it'll only grow. :(
13:26:59 xkapastel joins (uid17782@id-17782.tinside.irccloud.com)
13:27:00 <arahael> G'night! And thanks for the help, both of you!
13:28:16 × lambdadog quits (~user@136.55.166.148) (Ping timeout: 245 seconds)
13:28:21 <xerox> nighto
13:29:24 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:29:51 ddellacosta joins (~ddellacos@89.46.62.49)
13:32:06 alx741 joins (~alx741@186.178.109.76)
13:33:15 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
13:34:05 × ddellacosta quits (~ddellacos@89.46.62.49) (Ping timeout: 248 seconds)
13:36:14 cherryblossom000 joins (uid500853@id-500853.stonehaven.irccloud.com)
13:36:23 heath joins (~heath@68.68.64.38)
13:36:30 fizbin joins (~fizbin@c-71-226-194-211.hsd1.nj.comcast.net)
13:37:49 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 248 seconds)
13:38:17 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
13:38:59 nan`_ joins (~nan`@68.235.43.101)
13:39:08 <carbolymer> why am I getting "record update is ambiguous, and requires a type signature" error? can record update change record type?
13:39:25 <carbolymer> in my case record isn't parameterized
13:39:34 <carter> If field is polymorphic?
13:39:47 × Pseudonym quits (~Pseudonym@118.211.96.219) (Quit: Going offline, see ya! (www.adiirc.com))
13:39:50 <carter> Or maybe record isn’t typed enough?
13:40:24 brisbin joins (~patrick@pool-173-49-145-161.phlapa.fios.verizon.net)
13:40:55 brisbin is now known as pbrisbin
13:41:15 nan`__ joins (~nan`@68.235.43.141)
13:41:25 <carbolymer> no, field isn't polymorphic; also record is a regular data type i.e. data Foo = Foo{ ... }
13:41:43 <carbolymer> so I don't see any degrees of freedom there
13:41:59 <merijn> Code + error :)
13:42:05 × nan` quits (~nan`@68.235.43.93) (Ping timeout: 248 seconds)
13:43:34 <pe200012> maybe you accidently enable ext DuplicateRecordFields?
13:43:50 × Raito_Bezarius quits (~Raito@user/raito-bezarius/x-8759638) (Quit: free())
13:44:09 Raito_Bezarius joins (~Raito@user/raito-bezarius/x-8759638)
13:44:09 carbolymer checks cabal
13:44:12 <carbolymer> yep I have that
13:44:30 <merijn> "So don't do that, then" ;)
13:44:34 × nan`_ quits (~nan`@68.235.43.101) (Ping timeout: 264 seconds)
13:44:49 <carbolymer> TOTALLY MAKES SENSE NOW, EVERYTHING HAS BECOME CLEAR NOW
13:44:52 <carbolymer> :)
13:45:09 arahael likes that extension.
13:45:19 <carbolymer> yeah, it's useful
13:45:21 <merijn> arahael: Every person has flaws ;)
13:45:34 <arahael> merijn: I'm deeply flawed. :)
13:45:45 × Chobbes quits (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net) (Changing host)
13:45:45 Chobbes joins (~Chobbes@user/chobbes)
13:45:54 <carbolymer> like a semiconductor, flaws make perfection
13:46:05 <arahael> Heh. Now, I must try getting to bed for teh second time!
13:48:54 xwx joins (~george@user/george)
13:52:35 ddellacosta joins (~ddellacos@89.46.62.131)
13:53:10 yumaikas joins (~yumaikas@2601:281:c700:4240:b14b:e0e:d243:de95)
13:59:58 × killsushi_ quits (~killsushi@user/killsushi/x-5912268) (Quit: Leaving)
14:01:57 pe200012 become sleepy
14:04:07 bens joins (~bens@www.typius.com)
14:04:39 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
14:06:02 nan` joins (~nan`@68.235.43.173)
14:06:32 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.1)
14:06:38 ace is now known as caleb
14:09:07 <dmwit> dminuoso: Thanks!
14:09:46 × nan`__ quits (~nan`@68.235.43.141) (Ping timeout: 264 seconds)
14:11:37 × titusg quits (~user@193.62.188.148) (Quit: ERC (IRC client for Emacs 26.3))
14:12:40 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:4074:661e:32e7:5683) (Quit: Leaving)
14:14:15 × amir quits (sid22336@stonehaven.irccloud.com) (Changing host)
14:14:15 amir joins (sid22336@user/amir)
14:16:17 × haskman quits (~haskman@106.215.53.61) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:16:31 × exzeta quits (~exzeta@client-8-84.eduroam.oxuni.org.uk) (Remote host closed the connection)
14:17:33 pbrisbin is now known as restyled-bot
14:17:50 restyled-bot is now known as pbrisbin
14:18:58 pavonia joins (~user@user/siracusa)
14:20:17 Morrow joins (~MorrowM_@147.161.8.96)
14:22:07 × fizbin quits (~fizbin@c-71-226-194-211.hsd1.nj.comcast.net) (Remote host closed the connection)
14:22:44 bezik joins (~bezik@static.172.45.47.78.clients.your-server.de)
14:25:12 slowButPresent joins (~slowButPr@98.43.173.221)
14:25:28 Lord_of_Life_ is now known as Lord_of_Life
14:25:31 × Lord_of_Life quits (~Lord@46.217.219.213) (Changing host)
14:25:31 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
14:28:18 horex539 joins (~horex539@2a02:a03f:6aa5:a00:c44a:7891:1ab2:950d)
14:32:45 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:c44a:7891:1ab2:950d) (Ping timeout: 248 seconds)
14:37:01 × y04nn quits (~y04nn@193.27.14.138) (Ping timeout: 245 seconds)
14:37:16 acro joins (~acro@user/acro)
14:38:21 acro is now known as acro_
14:39:14 acro_ is now known as acro
14:39:20 acro is now known as acro_
14:40:04 autofrog joins (autofrog@107.161.19.109)
14:40:34 acro_ is now known as acro
14:43:02 martin joins (~martin@88.215.103.12)
14:43:45 doublex joins (~doublex@2601:542:c480:6ee0:f1cb:c223:cba1:111f)
14:45:17 × martin quits (~martin@88.215.103.12) (Client Quit)
14:45:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
14:46:27 × nsilv quits (~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1)
14:46:41 nsilv joins (~nsilv@212.103.198.210)
14:48:28 jmtd joins (~jon@2a00:23c7:e48a:4a01:ac66:201c:57c9:af4e)
14:52:07 Guest18 joins (Guest18@107.161.19.109)
14:52:45 × doublex quits (~doublex@2601:542:c480:6ee0:f1cb:c223:cba1:111f) (Quit: Leaving)
14:53:00 doublex joins (~doublex@2601:542:c480:6ee0:184b:7083:f026:c689)
14:54:17 ouroboros joins (~acro@user/ouroboros)
14:54:32 bitmapper joins (uid464869@id-464869.tooting.irccloud.com)
14:56:08 zrpz joins (~textual@2a00:1370:8133:101e:5c4a:34d1:da93:2a97)
14:56:20 lukeseale joins (~lbseale@ip72-194-54-201.sb.sd.cox.net)
14:56:59 nello joins (~nello@103.16.26.129)
14:57:39 × acro quits (~acro@user/acro) (Quit: Bye.)
14:57:39 × ouroboros quits (~acro@user/ouroboros) (Quit: Bye.)
14:57:48 × lbseale quits (~lbseale@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 260 seconds)
14:58:05 × Guest18 quits (Guest18@107.161.19.109) (Quit: Connection closed)
14:58:21 acro joins (~acro@user/acro)
14:58:36 TheRAt joins (~TheRAt@user/therat)
14:58:52 ouroboros joins (~ouroboros@user/ouroboros)
14:59:07 Sal23 joins (~textual@cpe-67-243-23-143.hvc.res.rr.com)
14:59:36 × Sal23 quits (~textual@cpe-67-243-23-143.hvc.res.rr.com) (Client Quit)
15:00:41 × zfnmxt quits (~zfnmxt@user/zfnmxt) (Quit: Bye!)
15:01:41 zfnmxt joins (~zfnmxt@user/zfnmxt)
15:02:54 × TheRAt quits (~TheRAt@user/therat) (Quit: Textual IRC Client: www.textualapp.com)
15:02:54 × pe200012 quits (~pe200012@119.131.208.84) (Quit: Konversation terminated!)
15:03:16 TheRAt joins (~TheRAt@user/therat)
15:03:20 WorldSEnder joins (~martin@88.215.103.12)
15:04:32 × doublex quits (~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) (Ping timeout: 265 seconds)
15:05:53 × nello quits (~nello@103.16.26.129) (Quit: nello)
15:06:07 nello joins (~nello@103.16.26.129)
15:06:16 pe200012 joins (~pe200012@45.87.95.45)
15:07:03 × ddellacosta quits (~ddellacos@89.46.62.131) (Remote host closed the connection)
15:07:29 ddellacosta joins (~ddellacos@89.46.62.131)
15:07:32 samoit joins (~samoit@153.red-79-153-5.dynamicip.rima-tde.net)
15:08:18 × zrpz quits (~textual@2a00:1370:8133:101e:5c4a:34d1:da93:2a97) (Ping timeout: 260 seconds)
15:09:20 × samoit quits (~samoit@153.red-79-153-5.dynamicip.rima-tde.net) (Remote host closed the connection)
15:11:16 mrosenbe joins (~mrosenbe@104.225.243.2)
15:11:22 × pe200012 quits (~pe200012@45.87.95.45) (Remote host closed the connection)
15:12:01 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 245 seconds)
15:12:23 × ddellacosta quits (~ddellacos@89.46.62.131) (Ping timeout: 260 seconds)
15:12:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:13:34 <teddyc> simplest way to get this function? True -> 1, False -> 0
15:13:49 <teddyc> if bool then 1 else 0
15:13:55 <teddyc> is what im thinking now
15:14:08 × lortabac_ quits (~lortabac@2a01:e0a:541:b8f0:9c88:d7f4:4abf:ede1) (Ping timeout: 260 seconds)
15:14:24 <c_wraith> > fromEnum True
15:14:25 <lambdabot> 1
15:14:32 <c_wraith> yeah, that should work
15:14:47 <teddyc> ah, nice. thanks!
15:14:53 ddellacosta joins (~ddellacos@89.46.62.49)
15:15:31 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
15:15:45 × Morrow quits (~MorrowM_@147.161.8.96) (Remote host closed the connection)
15:16:03 Morrow joins (~MorrowM_@147.161.8.96)
15:16:57 azeem joins (azeem@107.161.19.109)
15:17:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
15:18:04 littlefinger joins (~00000000@selfhost1.threedot14.com)
15:18:28 × Aran quits (~Aran@port-92-194-80-170.dynamic.as20676.net) (Ping timeout: 245 seconds)
15:19:12 × ddellacosta quits (~ddellacos@89.46.62.49) (Remote host closed the connection)
15:19:42 ddellacosta joins (~ddellacos@89.46.62.49)
15:21:40 madjestic joins (~madjestic@88.159.247.120)
15:22:54 × nello quits (~nello@103.16.26.129) (Quit: nello)
15:23:18 ddellaco_ joins (~ddellacos@89.46.62.86)
15:23:26 nello joins (~nello@101.88.251.149)
15:23:34 samoit joins (~samoit@user/samoit/x-0249261)
15:23:53 × ddellacosta quits (~ddellacos@89.46.62.49) (Ping timeout: 245 seconds)
15:26:59 × ddellaco_ quits (~ddellacos@89.46.62.86) (Remote host closed the connection)
15:27:12 ddellacosta joins (~ddellacos@89.46.62.86)
15:28:02 alexander parts (~alexander@user/alexander) ()
15:28:12 PeterD joins (~petrus@catv-86-101-33-147.catv.broadband.hu)
15:30:08 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 245 seconds)
15:30:57 y04nn joins (~y04nn@193.27.14.138)
15:31:50 × littlefinger quits (~00000000@selfhost1.threedot14.com) (Quit: Client closed)
15:34:44 <ski> Hecate : i'd say the answer to your question is "it depends". (and yes, what you showed in the pastes wasn't Continuation-Passing Style. your "Continuation" alternative, i might perhaps call (not syntactically, in this case) "(internally) nested", as opposed to "(externally) composed")
15:35:22 <Hecate> ski: great, thanks for the vocabulary :)
15:35:43 × autofrog quits (autofrog@107.161.19.109) (Quit: Connection closed)
15:36:27 × mikolaj_ quits (~mikon@duch.mimuw.edu.pl) (Quit: leaving)
15:36:38 mikolaj joins (~mikon@duch.mimuw.edu.pl)
15:36:53 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
15:37:10 <ski> (one might relate your examples to CPS in some ways, but neither of them directly expresses CPS, from what i can see)
15:37:12 <boxscape> is there a better way to do `parseNotes line = evalStateT parseHeader line <|> evalStateT parseRefs line`?
15:37:13 <boxscape> IIUC if I write `parseNotes = evalStateT (parseHeader <|> parseRefs)`, the state isn't restored if `parseHeader` fails.
15:37:29 mikolaj_ joins (~mikolaj@purple.well-typed.com)
15:38:04 MorrowM joins (~MorrowM_@147.161.12.40)
15:38:07 <ski> re "depends" .. it depends on what seems to be a more natural way to analyze the problem into subproblems (set up responsibilities, interfaces, separation of concerncs, &c.)
15:38:44 <boxscape> s/better/more idiomatic
15:38:50 ikex joins (~ash@user/ikex)
15:39:14 cnr joins (~cnr@user/cnr)
15:39:49 <ski> if each of the composands would seem to have a separate relevancy of its own, it would seem better to write it in the "composed" style (or at least to define each of the composands separately, even if also defining the nested compositions and things-on-their-own)
15:40:21 × Morrow quits (~MorrowM_@147.161.8.96) (Ping timeout: 245 seconds)
15:40:50 <ski> sometimes, one can directly, or later, find other places in which to use such a composand (or find code which can be refactored to use it)
15:41:00 <boxscape> looking at the Alternative instance I actually don't understand why that's the case, it looks to me like it ought to restore the state
15:41:01 <boxscape> StateT m <|> StateT n = StateT $ \ s -> m s `mplus` n s
15:41:33 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 260 seconds)
15:41:38 <ski> but sometimes, one such composand doesn't really make much sense, in isolation from another part, and so it may make more sense to only define its composition with that other part (separately named or not)
15:42:07 brandonh joins (~brandonh@2a04:3542:1000:910:905f:f9ff:fe67:4d32)
15:43:13 × dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
15:44:12 littlefinger joins (~00000000@selfhost1.threedot14.com)
15:44:24 <ski> Hecate : .. not sure how much the above helps. would probably need to see more specific code (and perhaps also get an idea of the problem domain), to attempt to give more concrete suggestion
15:44:45 slice joins (~slice@user/slice)
15:44:50 <ski> boxscape : hm, can you confirm `mplus = (<|>)' for whatever parser you're using ?
15:45:33 <boxscape> ski it's just Either
15:45:37 Deidde joins (~Deide@217.155.19.23)
15:45:59 <boxscape> % f :: (Alternative m, MonadError () m, MonadState String m) => m String; f = (put "errorState" >> throwError ()) <|> get
15:45:59 <yahb> boxscape:
15:46:00 <boxscape> % flip evalState "origState" . runExceptT $ f
15:46:00 <yahb> boxscape: Right "errorState"
15:46:02 dolio joins (~dolio@130.44.130.54)
15:46:15 <boxscape> it looks to me here like `get` should have received "origState"
15:46:17 <Hecate> ski: it does, thanks :)
15:46:22 <boxscape> I must be misunderstanding something
15:47:00 <boxscape> ski err wait I suppose it's ExceptT not Either, could be a different instance
15:47:20 × azeem quits (azeem@107.161.19.109) (Quit: Connection closed)
15:47:59 <ski> Hecate : CPS is about passing a function (a callback, called a "continuation") to your functions, and instead of giving back the result, your function will (as the last thing it does, in each branch) call this continuation callback with the result (so, technically, will return whatever the continuation returns, when passed what would otherwise be thought of as the result)
15:48:27 jhill_ is now known as jhill
15:48:53 <Hecate> ski: ok :) It's not just about nested calls but also passing the next call to the function
15:49:06 <Hecate> like, foo 1 baz
15:49:54 haskman joins (~haskman@106.215.53.61)
15:50:03 × ddellacosta quits (~ddellacos@89.46.62.86) (Remote host closed the connection)
15:50:30 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
15:51:13 ddellacosta joins (~ddellacos@89.46.62.125)
15:52:29 <ski> Hecate : one reason to do CPS can be efficiency. another reason is that one can do "funny" things, like deviate from "calling the continuation argument last", in certain circumstances. it's a very powerful (and also a bit hard to reason about, understand) tool for doing "control effects". CPS is also related to "monadic style", by which we mean using `foo >>= \x -> bar x >>= \y -> baz x y'
15:52:34 df joins (~ben@51.15.198.140)
15:53:36 samoit_ joins (~samoit@153.red-79-153-5.dynamicip.rima-tde.net)
15:53:42 <boxscape> I actually don't really understand how Except has an Alternative instance, it looks like Identity would need one but it doesn't seem to have one
15:53:59 <ski> (e.g., in a language with continuation side-effects (not exactly the same as, but related to, CPS), (also you need state), given any implementation of a monad, you can "reflect" it into a corresponding side-effect. e.g. in SML/NJ, or Scheme, if you implement a parser monad, you can then reflect that into "parsing side-effects", as if the language had built-in support for keeping track of parsing under the
15:54:05 <ski> covers, similarly to how many languages have native support for exceptions)
15:54:13 <boxscape> oh wait, I might have misread the operator
15:54:46 <boxscape> yeah ExceptT's Alternative instance uses <*> instead of <|>, so it is different from it's MonadPlus instance
15:54:50 <ski> Hecate : here's an example of a `map' function, written in CPS :
15:55:13 <ski> mapCPS :: (a -> (b -> o) -> o) -> ([a] -> ([b] -> o) -> o)
15:55:19 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 272 seconds)
15:55:31 <ski> mapCPS f [ ] k = k []
15:56:06 <ski> mapCPS f (x:xs) k = f x $ \y ->
15:56:12 × samoit quits (~samoit@user/samoit/x-0249261) (Quit: Leaving)
15:56:15 <boxscape> (no sorry, that was wrong, I just got confused in where in the source code I was :)
15:56:22 <ski> map f xs $ \ys ->
15:56:26 × samoit_ quits (~samoit@153.red-79-153-5.dynamicip.rima-tde.net) (Changing host)
15:56:26 samoit_ joins (~samoit@user/samoit/x-0249261)
15:56:32 <ski> k (y:ys)
15:57:10 <ski> here's a function that works the same, but is written using the `Cont o' monad instead
15:57:31 <ski> mapCont :: (a -> Cont o b) -> ([a] -> Cont o [b])
15:57:42 <ski> mapCont f [ ] = return []
15:58:11 <ski> mapCont f (x:xs) = f x >>= \y ->
15:58:30 <ski> mapCont f xs >>= \ys ->
15:58:40 <ski> return (y:ys)
15:59:10 <ski> boxscape : links ?
15:59:26 <boxscape> https://hackage.haskell.org/package/transformers-0.5.6.2/docs/src/Control.Monad.Trans.Except.html#line-202
15:59:31 <boxscape> ctrl-f for MonadPlus to get the other one
15:59:37 <ski> (sorry, `map' in `mapCont' was of course meant to be `mapCont'. it should call itself recursively)
15:59:59 <boxscape> I completely misread the code for some reason, it just requires a Monoid instance for the errors, nothing for Identity
16:00:02 × nsilv quits (~nsilv@212.103.198.210) (Quit: WeeChat 3.0.1)
16:01:15 <Hecate> ski: terrifying, but thanks! :D
16:02:16 <ski> boxscape : those look the same, to me
16:02:31 <boxscape> ski yeah they are
16:02:53 Aran joins (~Aran@port-92-194-80-170.dynamic.as20676.net)
16:03:21 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
16:03:26 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:04:55 saikiran joins (~Thunderbi@171.49.232.50)
16:07:34 × imdoor quits (~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
16:07:38 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 245 seconds)
16:08:59 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
16:09:10 sirodoht joins (uid499766@id-499766.brockwell.irccloud.com)
16:09:46 × amk quits (~amk@176.61.106.150) (Ping timeout: 264 seconds)
16:09:47 × heath quits (~heath@68.68.64.38) (Quit: Lost terminal)
16:10:04 amk joins (~amk@176.61.106.150)
16:10:20 horex539 joins (~horex539@2a02:a03f:6aa5:a00:79b6:6869:fb6c:f113)
16:11:49 pretty_dumm_guy joins (~trottel@92.223.89.149)
16:12:23 heath joins (~heath@68.68.64.38)
16:12:25 <boxscape> tbh it looks like I should probably just be using catchError instead of <|>, my Error type doesn't have a sensible Monoid instance
16:12:41 jmtd is now known as Jon
16:12:51 <boxscape> could use <|> if ExceptT didn't try to collect errors together with <|>/mplus
16:13:11 Jon is now known as Guest3126
16:13:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:13:43 × samoit_ quits (~samoit@user/samoit/x-0249261) (Quit: samoit_)
16:14:09 × ikex quits (~ash@user/ikex) (Quit: WeeChat 3.2-dev)
16:14:25 <ski> Hecate : as you can see, `mapCont' is "nested" (in terms of a call to itself), similar to one of your examples (which i why i said it could be related to CPS in some way). also, sometimes one thinks of the right operand of `>>=' as a "continuation" (what to do after executing the action to the left). however, with "true CPS", one would never nest like `(foo >>= \x -> bar x) >>= \y -> baz y' (and so, wouldn't
16:14:31 <ski> write `fooBar >>= \y -> baz y', given the definition `fooBar = foo >>= \x -> bar x'), but always in the form `foo >>= \x -> (bar x >>= \y -> baz z)' (possibly naming `bar x >>= \y -> baz z', putting it in a definition of its own)
16:14:46 Guest3126 is now known as Jon
16:14:57 × littlefinger quits (~00000000@selfhost1.threedot14.com) (Ping timeout: 272 seconds)
16:15:49 <Hecate> I see
16:15:56 × Jon quits (~jon@2a00:23c7:e48a:4a01:ac66:201c:57c9:af4e) (Quit: Leaving)
16:15:59 <ski> Hecate : anyway, if you're interested, i could try to give some more explanation of what CPS is about .. but above, i merely wanted to give some rough idea of what it is (and is not)
16:16:03 <ski> @hackage managed
16:16:04 <lambdabot> https://hackage.haskell.org/package/managed
16:16:37 Jon joins (jon@dow.land)
16:16:37 <ski> is a simple example of an (internal) use of CPS, so you can see one thing it's good for
16:16:55 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
16:17:08 mrkajetanp joins (~kajetan@2a01:4b00:ea36:6c00:56e9:4ef3:28ef:7ef6)
16:18:50 <ski> boxscape : hm, yea
16:19:07 <ski> (i'm still not clear on what difference you observed between your two alternative forms)
16:19:25 × epolanski quits (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
16:20:16 × saikiran quits (~Thunderbi@171.49.232.50) (Quit: saikiran)
16:20:19 sleym joins (~textual@185.124.240.146)
16:21:33 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 248 seconds)
16:21:36 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:79b6:6869:fb6c:f113) (Remote host closed the connection)
16:22:46 × biberu quits (~biberu@user/biberu) (Quit: ZNC - https://znc.in)
16:22:47 <ski> continuations can be used to do "inversion of control". (one classic example is to do web forms where your program will be automagically resumed at the right place, when the user submits the form on the web page). can be used to implement cooperative concurrency. (in SML/NJ, with timer interrupts, are also used to implement preemptive concurrency.) can be used to implement backtracking (e.g. for parsers)
16:22:51 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
16:23:18 Valerian joins (~vclerc@142.157.140.230)
16:24:16 bbear joins (~znc@21212.s.t4vps.eu)
16:24:24 <bbear> hello
16:24:40 × Valerian quits (~vclerc@142.157.140.230) (Client Quit)
16:24:54 alanz joins (sid110616@highgate.irccloud.com)
16:25:05 <boxscape> ski: I think the thing that actually confused me is that StateT and ExceptT are not commutative
16:25:07 <boxscape> % let f = (put "errorState" >> throwError ()) <|> get in runExceptT (evalStateT f "origState")
16:25:07 <yahb> boxscape: Right "origState"
16:25:12 Valerian joins (~vclerc@142.157.140.230)
16:25:17 <boxscape> % let f = (put "errorState" >> throwError ()) <|> get in evalStateT (runExceptT f) "origState"
16:25:17 <yahb> boxscape: Right "errorState"
16:25:25 <boxscape> ski I thought I was using one of these but was using the other
16:25:50 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
16:26:00 <ski> ah, makes sense
16:26:41 <ski> @unmtl StateT s (ExceptT e m) a
16:26:41 <lambdabot> s -> m (Either e (a, s))
16:26:42 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-87.cust.tzulo.com)
16:26:43 <ski> @unmtl ExceptT e (StateT s m) a
16:26:43 <lambdabot> s -> m (Either e a, s)
16:26:52 <ski> the difference is clearly visible there ^
16:27:18 biberu joins (~biberu@user/biberu)
16:27:19 <boxscape> yeah, I even thought about that but didn't realize it would make a difference for this
16:28:00 × biberu quits (~biberu@user/biberu) (Remote host closed the connection)
16:28:23 horex539 joins (~horex539@2a02:a03f:6aa5:a00:2d4f:5234:a998:fa61)
16:28:35 <boxscape> hello bbear
16:28:37 × sleym quits (~textual@185.124.240.146) (Quit: sleym)
16:29:00 aerona joins (~aerona@2600:6c54:4600:f300:a4ed:8a8a:58ad:43d0)
16:29:21 biberu joins (~biberu@user/biberu)
16:29:30 WikiLycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
16:30:32 sondre joins (~sondrelun@eduroam-193-157-240-212.wlan.uio.no)
16:31:05 <siers> is hpack still relevant?
16:31:09 <maerwald> no
16:31:20 <maerwald> don't take my word for it
16:31:30 <Hecate> siers: it still exists, is still being used by stack
16:32:17 ddellaco_ joins (~ddellacos@86.106.121.92)
16:32:18 <boxscape> it's optional when using stack right?
16:32:39 dhazel joins (~quassel@2601:1c1:8a00:3390:4d68:699c:e57c:f856)
16:32:47 <Hecate> boxscape: yes, it's only triggered when a package.yaml is present at the top-level
16:32:51 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:2d4f:5234:a998:fa61) (Ping timeout: 245 seconds)
16:32:51 × Valerian quits (~vclerc@142.157.140.230) (Ping timeout: 245 seconds)
16:32:53 <boxscape> ok
16:33:12 jao joins (~mail@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
16:36:03 tose joins (~tose@ip-85-160-8-43.eurotel.cz)
16:36:29 × ddellacosta quits (~ddellacos@89.46.62.125) (Ping timeout: 272 seconds)
16:38:13 <ski> siers : istr people in here saying that it shouldn't be used, that even Snoyman no longer recommends it
16:38:29 <MorrowM> I find that using cabal-fmt has solved the main thing hpack did for me - I find formatting cabal files by hand to be fiddly.
16:38:53 × oxide quits (~lambda@user/oxide) (Ping timeout: 252 seconds)
16:40:38 oxide joins (~lambda@user/oxide)
16:41:12 dpeck joins (~dpeck@141.98.255.144)
16:41:12 <dpeck> UR NOOB IRCD GOT PWNED BY LALBORNOZ FROM MIDIPIX / IRC.LIBERA.CHAT #MIDIPIX
16:41:21 × dpeck quits (~dpeck@141.98.255.144) (Remote host closed the connection)
16:42:07 lechner joins (~lechner@letbox-vps.us-core.com)
16:42:38 Winterflow3r joins (~Winterflo@141.98.255.144)
16:42:38 <Winterflow3r> UR NOOB IRCD GOT PWNED BY LALBORNOZ FROM MIDIPIX / IRC.LIBERA.CHAT #MIDIPIX
16:42:38 × Winterflow3r quits (~Winterflo@141.98.255.144) (Client Quit)
16:43:07 elvishjerricco joins (sid237756@id-237756.brockwell.irccloud.com)
16:43:50 × elvishjerricco quits (sid237756@id-237756.brockwell.irccloud.com) ()
16:44:02 elvishjerricco joins (sid237756@id-237756.brockwell.irccloud.com)
16:44:26 <juri_> and so it begins.
16:44:50 mapgrep joins (~mapgrep@141.98.255.144)
16:44:50 <mapgrep> UR NOOB IRCD GOT PWNED BY LALBORNOZ FROM MIDIPIX / IRC.LIBERA.CHAT #MIDIPIX
16:44:50 × mapgrep quits (~mapgrep@141.98.255.144) (Remote host closed the connection)
16:45:33 × Square quits (~Squarism4@90-231-27-135-no51.tbcn.telia.com) (Ping timeout: 245 seconds)
16:46:43 tristanC joins (~tristanC@user/tristanc)
16:47:08 <WikiLycurgus> fwiw, in the more than 10 channels i'm in that's only happening here
16:47:19 <lechner> yes
16:47:45 <boxscape> it's happening in #libera as well
16:48:14 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
16:48:23 <WikiLycurgus> that was so busy I only was there at first
16:48:53 <cheater> why is the list of ops private on the channel, as well as the founder?
16:49:05 <lukeseale> :G
16:49:13 <WikiLycurgus> Fuchs commented on my presumption of my nick having been squatted before I realized the owner of lycr.gs just got here first
16:49:31 × y04nn quits (~y04nn@193.27.14.138) (Ping timeout: 245 seconds)
16:49:39 <tomjaguarpaw> Anyone got a clue about "lhs2TeX: fd:7: hGetLine: end of file"? https://paste.tomsmeding.com/cSXbVKOi
16:50:05 <WikiLycurgus> sounds like an embedded tex error
16:50:55 <WikiLycurgus> very common error in tex/latex when its horror of a markup lang barfs
16:51:35 <tomjaguarpaw> But this is a "cabal install"!
16:52:02 <WikiLycurgus> and that can't run lhs2TeX ?
16:52:19 <boxscape> could be a test? Or would it say that it's running tests then?
16:52:24 <tomjaguarpaw> It seems like it tries to run it after it has built it, perhaps as part of a test suite?
16:52:34 <tomjaguarpaw> Right. Maybe I can tell cabal to ignore tests.
16:53:00 <boxscape> it seems like cabal should be saying `Building testsuite` or whatever before that happens though, hm
16:53:39 <tomjaguarpaw> Hmm, --disable-tests doesn't help :(
16:53:41 × Aran quits (~Aran@port-92-194-80-170.dynamic.as20676.net) (Ping timeout: 245 seconds)
16:53:57 <WikiLycurgus> so in literatep the documentation would or could or maybe should be produced at compile time
16:54:35 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:2c50:e3ba:562f:9049)
16:55:33 exzeta joins (~exzeta@client0964.vpn.ox.ac.uk)
16:55:33 <tomjaguarpaw> Ah well, reported as https://github.com/kosmikus/lhs2tex/issues/87
16:55:59 NegativeLatency joins (~NegativeL@141.98.255.144)
16:55:59 × NegativeLatency quits (~NegativeL@141.98.255.144) (Killed (ozone (No Spam)))
16:57:23 × Franciman quits (~francesco@host-80-180-196-134.pool80180.interbusiness.it) (Remote host closed the connection)
16:58:34 azeem joins (azeem@107.161.19.109)
17:00:02 × azeem quits (azeem@107.161.19.109) (Client Quit)
17:00:02 ordinate_ joins (~ordinate@c-68-38-144-3.hsd1.in.comcast.net)
17:01:18 horex539 joins (~horex539@2a02:a03f:6aa5:a00:2d4f:5234:a998:fa61)
17:01:29 × ordinate_ quits (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Client Quit)
17:01:39 ordinate joins (~ordinate@c-68-38-144-3.hsd1.in.comcast.net)
17:02:10 <ordinate> oh thank god i remembered how to use hexchat
17:02:14 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:02:27 × Deidde quits (~Deide@217.155.19.23) (Read error: Connection reset by peer)
17:03:35 <Ariakenom> another hexchat user? absurd
17:04:02 <ordinate> still have all the muscle memory from when i was 14
17:04:35 <janus> ordinate: does DCC work for you? i couldn't get it working
17:05:13 <ordinate> uncertain, havent tried
17:05:34 littlefinger joins (~00000000@selfhost1.threedot14.com)
17:08:52 flounders_ joins (~flounders@173.246.200.33)
17:09:26 <ski> janus : iirc, may depend on whether you're behind NAT or so ..
17:10:02 <janus> yeah that's what i spent my time with, i assumed that if the port was open, i could get it working
17:10:13 <janus> there is even a passive mode to have the open port on the other end
17:10:14 <ski> (although, using the "passive" variant might help)
17:10:27 Morrow_ joins (~MorrowM_@147.161.12.40)
17:10:45 zfnmxt_ joins (~zfnmxt@user/zfnmxt)
17:10:45 exzeta_ joins (~exzeta@client0964.vpn.ox.ac.uk)
17:10:47 <janus> well it was just for kicks anyway, not really worth spending too much time with
17:10:55 chele_ joins (~chele@user/chele)
17:10:55 <janus> i just wanted to understand people's nostalgy :P
17:11:07 cnr- joins (~cnr@user/cnr)
17:11:09 <monochrom> I use hexchat too. Bite me.
17:11:23 ski bites
17:11:31 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:2d4f:5234:a998:fa61) (Remote host closed the connection)
17:11:41 <glguy> Is this one of those Alice in Wonderland things? What transformation happens?
17:11:46 <ski> (HexChat isn't too bad)
17:11:47 russruss3 joins (~russruss@my.russellmcc.com)
17:12:00 <monochrom> And hexchat would be the one that doesn't need any remembering to use, if anything.
17:12:01 jay_invariant joins (~jay@136-25-171-46.cab.webpass.net)
17:12:10 <maerwald> glguy: we're all vampires... did you not know?
17:12:14 × chele quits (~chele@user/chele) (Killed (rhodium.libera.chat (Nickname regained by services)))
17:12:14 chele_ is now known as chele
17:12:20 Organizers|Robin joins (~Robin_Jad@152.67.64.160)
17:12:32 × Organizers|Robin quits (~Robin_Jad@152.67.64.160) (Client Quit)
17:12:45 × madjestic quits (~madjestic@88.159.247.120) (Ping timeout: 248 seconds)
17:12:46 Organizers|Robin joins (~Robin_Jad@152.67.64.160)
17:12:57 smarton joins (~smarton@121407.xyz)
17:13:00 × Robin_Jadoul quits (~Robin_Jad@152.67.64.160) (Killed (NickServ (GHOST command used by Organizers|Robin)))
17:13:04 Organizers|Robin is now known as Robin_Jadoul
17:13:08 hiruji- joins (~hiruji@72.74.190.75)
17:13:19 mikolaj__ joins (~mikon@duch.mimuw.edu.pl)
17:13:19 colesantiago joins (~colesanti@45.83.220.170)
17:13:19 × colesantiago quits (~colesanti@45.83.220.170) (Killed (ozone (No Spam)))
17:13:25 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:13:33 BadCoder1 joins (~john@user/badcoderfinger)
17:13:53 space-shell joins (space-shel@107.161.19.109)
17:14:07 fiddlerwoaroof_ joins (~fiddlerwo@user/fiddlerwoaroof)
17:14:09 WorldSEnder1 joins (~martin@88.215.103.12)
17:14:30 codolio joins (~dolio@130.44.130.54)
17:14:56 oxide_ joins (~lambda@user/oxide)
17:15:06 tomek joins (~erzet@83.25.12.106.ipv4.supernova.orange.pl)
17:15:19 sszark2 joins (~sszark@h-85-24-213-180.A392.priv.bahnhof.se)
17:15:40 bens_ joins (~bens@www.typius.com)
17:16:08 hueso_ joins (~root@152.170.89.151)
17:16:27 <ordinate> god i wish irssi wasnt a pain to use on wsl or else id be using that
17:17:16 dcheung joins (~dcheung@53.19.237.35.bc.googleusercontent.com)
17:17:24 dcheung parts (~dcheung@53.19.237.35.bc.googleusercontent.com) ()
17:17:42 <monochrom> We were all help vampires once upon a Halloween.
17:18:10 <janus> ordinate: why is it a pain on wsl?
17:18:27 <ordinate> mouse weirdness........
17:18:41 <janus> oh, i have not attempted to use the mouse with irssi
17:18:53 Aran joins (~Aran@port-92-194-80-170.dynamic.as20676.net)
17:18:53 acro_ joins (~acro@user/acro)
17:18:53 <maerwald> try weechat
17:19:07 <mrosenbe> I did not know that irssi has any mouse integratin at all.
17:19:11 <monochrom> Me, I don't even expect WSL to see your mouse.
17:20:03 <janus> i think really only the terminal emulator has to see it, the mouse clicks go over the character device like everything else, i'd think?
17:20:06 × oxide quits (~lambda@user/oxide) (*.net *.split)
17:20:06 × exzeta quits (~exzeta@client0964.vpn.ox.ac.uk) (*.net *.split)
17:20:06 × haskman quits (~haskman@106.215.53.61) (*.net *.split)
17:20:06 × dolio quits (~dolio@130.44.130.54) (*.net *.split)
17:20:06 × cnr quits (~cnr@user/cnr) (*.net *.split)
17:20:06 × MorrowM quits (~MorrowM_@147.161.12.40) (*.net *.split)
17:20:06 × mikolaj quits (~mikon@duch.mimuw.edu.pl) (*.net *.split)
17:20:06 × zfnmxt quits (~zfnmxt@user/zfnmxt) (*.net *.split)
17:20:06 × WorldSEnder quits (~martin@88.215.103.12) (*.net *.split)
17:20:06 × acro quits (~acro@user/acro) (*.net *.split)
17:20:06 × bens quits (~bens@www.typius.com) (*.net *.split)
17:20:06 × yumaikas quits (~yumaikas@2601:281:c700:4240:b14b:e0e:d243:de95) (*.net *.split)
17:20:06 × michalz quits (~user@185.246.204.48) (*.net *.split)
17:20:06 × dyeplexer quits (~dyeplexer@user/dyeplexer) (*.net *.split)
17:20:06 × taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (*.net *.split)
17:20:06 × jonn quits (~sweater@206.81.18.26) (*.net *.split)
17:20:06 × flounders quits (~flounders@173.246.200.33) (*.net *.split)
17:20:06 × russruss quits (~russruss@my.russellmcc.com) (*.net *.split)
17:20:06 × aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (*.net *.split)
17:20:06 × sszark1 quits (~sszark@h-85-24-213-180.A392.priv.bahnhof.se) (*.net *.split)
17:20:06 × erzet quits (~erzet@83.25.12.106.ipv4.supernova.orange.pl) (*.net *.split)
17:20:06 × bec quits (bec@user/bec) (*.net *.split)
17:20:06 × jay-invariant quits (~jay@136-25-171-46.cab.webpass.net) (*.net *.split)
17:20:06 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (*.net *.split)
17:20:06 × cbarrett quits (sid192934@id-192934.brockwell.irccloud.com) (*.net *.split)
17:20:06 × finn_elija quits (~finn_elij@user/finn-elija/x-0085643) (*.net *.split)
17:20:06 × fiddlerwoaroof quits (~fiddlerwo@user/fiddlerwoaroof) (*.net *.split)
17:20:06 × hueso quits (~root@152.170.89.151) (*.net *.split)
17:20:06 × BadCoderFinger quits (~john@user/badcoderfinger) (*.net *.split)
17:20:06 × UpstreamSalmon quits (uid12077@id-12077.stonehaven.irccloud.com) (*.net *.split)
17:20:06 × davve quits (davve@bsd.douchedata.com) (*.net *.split)
17:20:06 × hiruji quits (~hiruji@user/hiruji) (*.net *.split)
17:20:06 acro_ is now known as acro
17:20:06 russruss3 is now known as russruss
17:20:13 <boxscape> that sounds right to me
17:20:31 <monochrom> \∩/ first netsplit on libera! We are witnessing history!
17:20:40 <boxscape> ordinate maybe it works better with a different terminal emulator
17:21:09 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
17:21:20 <ordinate> yea i should really try that first
17:21:44 <ordinate> another step on my quest to be a super linux poweruser
17:21:44 <drakonis> nah man
17:21:49 <drakonis> i've seen the first netsplit on day 1
17:21:49 <janus> ordinate: i know windows terminal has built in WSL support now
17:22:02 <monochrom> nice
17:22:13 <ordinate> wait theres a windows terminal???
17:22:21 <boxscape> yeah you can get it from the microsoft store
17:22:36 <boxscape> they even added a settings GUI recently instead of just a JSON file
17:22:37 <janus> they push it a lot, and it is open source, has tabs and stuff
17:22:39 UpstreamSalmon joins (uid12077@id-12077.stonehaven.irccloud.com)
17:22:45 cbarrett joins (sid192934@id-192934.brockwell.irccloud.com)
17:22:45 taktoa[c] joins (sid282096@id-282096.tinside.irccloud.com)
17:22:53 yumaikas joins (~yumaikas@2601:281:c700:4240:b14b:e0e:d243:de95)
17:22:56 <ordinate> oh this is so cute im using this immediately
17:22:59 <janus> just using a json file was impressive to me, 20 years ago they would have used the registry ;)
17:23:06 <boxscape> (also it supports Fira Code's ligatures)
17:23:16 <ordinate> terminus 4 lyfe
17:23:18 <boxscape> janus good point
17:23:29 <monochrom> I agree about registry :)
17:23:42 <space-shell> alacritty isn't bad
17:23:51 <maerwald> space-shell: depends
17:23:54 <janus> ordinate: but really, irssi is quite portable, so i think it probably works fine in msys2 also. seems kinda weird running a whole linux kernel for irssi if the program you're actually using doesn't need it
17:24:22 aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de)
17:24:23 <maerwald> space-shell: it's annoyingly broken when you want to ssh, has memory consumption issues and problem on nvidia gpu
17:24:32 <ordinate> i honestly just want something to look at while i wait for nix-build to finish
17:24:32 <maerwald> also: some of the devs are hostile
17:24:38 <janus> ordinate: msys uses its own terminal emulator called Mintty, i think, i used to have msys running in windows terminal but i dunno how to do it with the new releases. there is probably a way
17:24:40 <ordinate> absolutely adore dvtm for this purpose
17:25:13 <maerwald> regardless, I use it myself, but I'm not too convinced
17:25:15 amahl joins (~amahl@dxv5skydn0bd-5x3rclnt-3.rev.dnainternet.fi)
17:25:19 <janus> ordinate: but consider that msys is using mintty because its fits their POSIX emulation story really well. so i think it absolutely has mouse support
17:25:28 <monochrom> I also agree about IRC for killing time :)
17:25:28 <space-shell> maerwald, I've not had memory issues but I've had glitching in WSL have you tried wezterm?
17:25:45 <monochrom> in fact s/IRC/lurking in IRC/
17:25:57 dyeplexer joins (~dyeplexer@user/dyeplexer)
17:26:55 <maerwald> space-shell: https://tinyurl.com/rafdyp22
17:27:23 horex539 joins (~horex539@2a02:a03f:6aa5:a00:a0cf:b79a:7d3c:169a)
17:28:08 pupdogg joins (~pupdogg@141.98.255.145)
17:28:08 × pupdogg quits (~pupdogg@141.98.255.145) (Killed (ozone (No Spam)))
17:29:09 _dwt joins (~dwt@2601:2c6:8080:618:4549:992b:1f6b:681e)
17:29:18 <EvanR> boxscape: dunno if you highlighted me yesterday but i got disconnected
17:29:33 <boxscape> erm I don't remember what we talked about yesterday :)
17:29:40 <EvanR> fair
17:31:32 × natechan quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
17:31:57 × horex539 quits (~horex539@2a02:a03f:6aa5:a00:a0cf:b79a:7d3c:169a) (Ping timeout: 248 seconds)
17:35:28 <ski> drakonis : day one, or day zero ?
17:35:46 <drakonis> day zero
17:35:51 <drakonis> the moment it opened
17:36:16 <monochrom> Darn
17:36:27 × Aran quits (~Aran@port-92-194-80-170.dynamic.as20676.net) (Quit: Leaving)
17:38:48 × caasih quits (sid13241@charlton.irccloud.com) ()
17:39:00 caasih joins (sid13241@id-13241.charlton.irccloud.com)
17:39:10 × sondre quits (~sondrelun@eduroam-193-157-240-212.wlan.uio.no) (Ping timeout: 264 seconds)
17:42:30 <ordinate> after a horrendous amount of struggle, ive finally installed puredata in a way that doesnt leak memory
17:42:33 Deewiant joins (~deewiant@de1.ut.deewiant.iki.fi)
17:42:36 <ordinate> time to learn hosc
17:44:01 <mrosenbe> #haskell is dead, long live #haskell
17:44:20 × Morrow_ quits (~MorrowM_@147.161.12.40) (Ping timeout: 252 seconds)
17:44:57 <monochrom> So dramatic...
17:46:52 <boxscape> does text have a function to escape a text, like `show` does on Strings?
17:47:31 <boxscape> % show "\\"
17:47:31 <yahb> boxscape: "\"\\\\\""
17:48:03 <monochrom> I think show escapes Text too. Then again the output is String not Text.
17:48:44 <boxscape> hm I guess (T.pack . show) x isn't too bad
17:48:53 janus parts (janus@anubis.0x90.dk) (CPU quota exceeded)
17:49:06 <boxscape> % (Data.Text.pack . show) (Data.Text.pack "\\")
17:49:06 <yahb> boxscape: "\"\\\\\""
17:49:08 <boxscape> yeah
17:49:14 xlei joins (znc@pool-68-129-84-118.nycmny.fios.verizon.net)
17:49:29 <boxscape> good enough for my purposes
17:50:32 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Remote host closed the connection)
17:50:55 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
17:51:36 × tose quits (~tose@ip-85-160-8-43.eurotel.cz) (Ping timeout: 245 seconds)
17:52:16 PeterD parts (~petrus@catv-86-101-33-147.catv.broadband.hu) (WeeChat 3.1)
17:54:31 × littlefinger quits (~00000000@selfhost1.threedot14.com) (Quit: Client closed)
17:59:09 Ariakenom_ joins (~Ariakenom@2001:9b1:efb:fc00:2c50:e3ba:562f:9049)
17:59:31 ddellacosta joins (~ddellacos@86.106.121.92)
17:59:38 madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net)
17:59:40 FreeVariable joins (FreeVariab@107.161.19.109)
17:59:45 × ddellaco_ quits (~ddellacos@86.106.121.92) (Read error: Connection reset by peer)
17:59:52 <yin> someone whould really update https://www.haskell.org/irc
17:59:52 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
18:00:24 × ordinate quits (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Read error: Connection reset by peer)
18:00:24 ordinate_ joins (~ordinate@c-68-38-144-3.hsd1.in.comcast.net)
18:00:24 × ordinate_ quits (~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Client Quit)
18:00:24 × erickgnavar quits (~user@189.216.64.154) (Ping timeout: 245 seconds)
18:01:23 × malvo quits (~malvo@malvo.org) (Ping timeout: 245 seconds)
18:01:24 × lyxia quits (~lyxia@poisson.chat) (Quit: WeeChat 3.1)
18:01:32 × WikiLycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
18:01:36 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:2c50:e3ba:562f:9049) (Ping timeout: 245 seconds)
18:01:40 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-134-87.cust.tzulo.com) (Read error: Connection reset by peer)
18:01:54 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-134-87.cust.tzulo.com)
18:02:27 × xkapastel quits (uid17782@id-17782.tinside.irccloud.com) (Ping timeout: 245 seconds)
18:02:40 × lechner quits (~lechner@letbox-vps.us-core.com) (Quit: WeeChat 3.0)
18:02:54 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
18:03:02 malvo joins (~malvo@malvo.org)
18:03:25 azeem joins (azeem@107.161.19.109)
18:04:19 × tomek quits (~erzet@83.25.12.106.ipv4.supernova.orange.pl) (Quit: WeeChat 2.8)
18:04:47 xkapastel joins (uid17782@id-17782.tinside.irccloud.com)
18:04:49 × FreeVariable quits (FreeVariab@107.161.19.109) (Quit: Connection closed)
18:04:56 × hongminhee quits (sid295@id-295.tinside.irccloud.com) (Ping timeout: 245 seconds)
18:05:35 hongminhee joins (sid295@id-295.tinside.irccloud.com)
18:05:45 lechner joins (~lechner@letbox-vps.us-core.com)
18:07:02 jao` joins (~mail@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
18:07:31 <boxscape> equality constraints are also carries around in a dictionary right?
18:08:02 <ski> i'd expect not
18:08:04 × jao quits (~mail@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Killed (NickServ (GHOST command used by jao`)))
18:08:08 <boxscape> s/carries/carried
18:08:11 <boxscape> oh
18:08:18 jao` is now known as jao
18:08:18 <maerwald> yin: https://github.com/haskell-infra/www.haskell.org/pull/84/files
18:08:19 <boxscape> ski would that mean they have no runtime cost?
18:08:36 <ski> (if they were carrying an actual isomorphism, rather than representational equality, they would have to)
18:09:02 <boxscape> right that makes sense
18:09:03 <ski> boxscape : i haven't looked at how things are actually implemented, but that's what i'd assume, yes
18:09:10 <boxscape> okay, cheers
18:09:19 Franciman joins (~francesco@host-80-180-196-134.pool80180.interbusiness.it)
18:11:45 <ski> yin,maerwald : maybe it'd make sense to list both, interrim. or maybe it'd be better to await some sort of official decision ..
18:12:05 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 264 seconds)
18:12:08 <maerwald> freenode is flooded with spam afaih, so...
18:12:10 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
18:12:36 paolino-tunnel joins (~paolo@84.33.178.37)
18:12:37 <ski> we had a little bit of spam in here, not long ago
18:12:48 autofrog joins (autofrog@107.161.19.109)
18:12:52 sondre joins (~sondrelun@cm-84.212.100.140.getinternet.no)
18:13:42 paolino-tunnel is now known as paolino
18:13:42 zeph joins (~zeph@59.88.30.92)
18:15:26 bontaq` joins (~user@ec2-18-235-23-153.compute-1.amazonaws.com)
18:16:11 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
18:16:51 wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
18:17:49 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 272 seconds)
18:18:40 × sirodoht quits (uid499766@id-499766.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
18:19:02 × jneira quits (5127aca6@unknownnetwork-a.clients.kiwiirc.com) (Quit: Connection closed)
18:19:41 × wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
18:21:02 arw joins (~arw@impulse.informatik.uni-erlangen.de)
18:22:41 × azeem quits (azeem@107.161.19.109) (Quit: Connection closed)
18:22:54 irc_user joins (uid423822@id-423822.tooting.irccloud.com)
18:23:29 × brandonh quits (~brandonh@2a04:3542:1000:910:905f:f9ff:fe67:4d32) (Quit: brandonh)
18:26:33 <tomsmeding> edwardk: preliminary multi-network support in ircbrowse! https://ircbrowse.tomsmeding.com
18:26:49 <tomsmeding> there's bound to be stuff that doesn't work though
18:27:38 × hiruji- quits (~hiruji@72.74.190.75) (Quit: ZNC 1.8.2 - https://znc.in)
18:28:52 <davean> tomsmeding: nice
18:29:26 × Robin_Jadoul quits (~Robin_Jad@152.67.64.160) (Ping timeout: 252 seconds)
18:29:52 <tomsmeding> it's kiiind of hacked in, but I hope the code follows its own conventions as much as I think it does :)
18:30:50 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
18:31:16 hiruji joins (~hiruji@72.74.190.75)
18:31:31 × Guest3497 quits (~nitrix@ns569831.ip-51-79-81.net) (Changing host)
18:31:31 Guest3497 joins (~nitrix@user/nitrix)
18:31:37 Guest3497 is now known as nitrix
18:31:38 × cnr- quits (~cnr@user/cnr) (Ping timeout: 252 seconds)
18:31:47 oxide_ is now known as oxide
18:32:44 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:33:26 × xwx quits (~george@user/george) (Quit: leaving)
18:34:29 xwx joins (~george@user/george)
18:39:56 <edwardk> tomsmeding: you rock
18:40:26 <tomsmeding> :)
18:42:21 × xwx quits (~george@user/george) (Ping timeout: 248 seconds)
18:42:44 river joins (~river@user/river)
18:43:10 xwx joins (~george@user/george)
18:44:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:44:30 <tomsmeding> geekosaur: if you wish I can add libera#xmonad to ircbrowse too
18:44:41 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:45:48 jakesyl joins (sid56879@id-56879.stonehaven.irccloud.com)
18:45:53 BadCoder1 is now known as BadCoderFinger
18:46:13 <geekosaur> please, we moved over yessterday
18:47:03 <tomsmeding> given the addition of libera#haskell went basically without effort (apart from implementing multi-network support in the first place), let's see if adding another channel is as simple :)
18:51:25 <tomsmeding> geekosaur: https://ircbrowse.tomsmeding.com/browse/lcxmonad
18:51:52 Heffalump joins (~ganesh@urchin.earth.li)
18:52:04 <tomsmeding> ah I found a bug already, the Link functionality doesn't do names correctly :p
18:52:26 × xwx quits (~george@user/george) (Ping timeout: 245 seconds)
18:53:24 gawen joins (~gawen@movzbl.root.sx)
18:53:29 xwx joins (~george@user/george)
18:54:32 lyxia joins (~lyxia@poisson.chat)
18:54:42 bontaq`` joins (~user@ool-18e47f8d.dyn.optonline.net)
18:55:18 Valerian joins (~vclerc@modemcable030.18-176-173.mc.videotron.ca)
18:56:02 × Valerian quits (~vclerc@modemcable030.18-176-173.mc.videotron.ca) (Client Quit)
18:56:11 × bontaq` quits (~user@ec2-18-235-23-153.compute-1.amazonaws.com) (Ping timeout: 245 seconds)
18:56:14 <ski> edwardk,tomsmeding : ty both
18:56:17 keltono joins (~kelton@x-160-94-179-178.acm.umn.edu)
18:57:49 zeph_ joins (~zeph@117.222.69.244)
18:58:08 × zeph_ quits (~zeph@117.222.69.244) (Client Quit)
18:58:43 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:58:52 <boxscape> tomsmeding there isn't a feature at the moment to hide joins/leaves, is there?
18:59:03 <tomsmeding> unfortunately not :p
18:59:06 <tomsmeding> still have to build that
18:59:06 <boxscape> okay
18:59:08 × involans quits (~involans@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 252 seconds)
18:59:23 <tomsmeding> some day
19:00:53 × zeph quits (~zeph@59.88.30.92) (Ping timeout: 272 seconds)
19:01:56 tomsmeding finds that searching for # in the source code is a good way to find places where ircbrowse doesn't follow its own conventions regarding channel ids and channel names
19:02:05 <geekosaur> tyvm
19:02:28 <geekosaur> we're still waiting on channel access, sadly
19:03:07 <tomsmeding> sad
19:06:11 × tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Quit: Gone away)
19:06:15 coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl)
19:06:35 tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io)
19:07:00 gawen is now known as gawen_
19:07:37 gawen_ is now known as gawen
19:07:38 haskman joins (~haskman@106.215.53.61)
19:07:56 _dwt is now known as dwt_
19:08:34 dwt_ is now known as dwt__
19:09:37 × dwt__ quits (~dwt@2601:2c6:8080:618:4549:992b:1f6b:681e) (Quit: Leaving)
19:10:56 godtoldmetodoit joins (~godtoldme@185.213.155.164)
19:11:07 × godtoldmetodoit quits (~godtoldme@185.213.155.164) (K-Lined)
19:14:41 Morrow joins (~MorrowM_@147.161.12.40)
19:15:43 × autofrog quits (autofrog@107.161.19.109) (Quit: Connection closed)
19:15:44 × Morrow quits (~MorrowM_@147.161.12.40) (Read error: Connection reset by peer)
19:16:36 × xwx quits (~george@user/george) (Ping timeout: 245 seconds)
19:17:48 xwx joins (~george@user/george)
19:17:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
19:19:59 FreeVariable joins (FreeVariab@107.161.19.109)
19:20:15 f-a joins (~f-a@151.68.221.155)
19:20:36 <f-a> (pingiing sclv or edwardk)
19:21:14 bec joins (bec@107.161.19.109)
19:21:44 <sclv> what do u need me to do
19:22:17 <f-a> we would like to register #haskell-game
19:22:22 <f-a> we: me or sm
19:26:19 × moistoreos quits (~moistoreo@99-151-203-47.lightspeed.snantx.sbcglobal.net) (Quit: Computer Asleep 😴)
19:27:00 <sclv> on it
19:27:12 Hourds joins (~hourd@fi-19-202-209.service.infuturo.it)
19:27:23 moistoreos joins (~moistoreo@99-151-203-47.lightspeed.snantx.sbcglobal.net)
19:27:53 × juhp quits (~juhp@128.106.188.199) (Quit: juhp)
19:28:07 juhp joins (~juhp@128.106.188.199)
19:28:13 × xwx quits (~george@user/george) (Ping timeout: 248 seconds)
19:32:42 lortabac_ joins (~lortabac@2a01:e0a:541:b8f0:d317:7e9f:278d:17a9)
19:33:24 × f-a quits (~f-a@151.68.221.155) (Read error: Connection reset by peer)
19:35:41 × ircbrowse_tom quits (~ircbrowse@64.225.78.177) (ZNC 1.7.5+deb4 - https://znc.in)

All times are in UTC on 2021-05-21.