Home freenode/#haskell: Logs Calendar

Logs on 2021-05-04 (freenode/#haskell)

00:00:07 v01d4lph4 joins (~v01d4lph4@171.50.180.77)
00:00:21 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
00:00:35 ddellacosta joins (~ddellacos@86.106.143.135)
00:01:42 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
00:03:16 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3414:2d6f:b42a:fb39) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:03:23 × asm89 quits (~asm89@unaffiliated/asm89) (Ping timeout: 246 seconds)
00:03:35 × cortexauth quits (~cortexaut@2409:4053:2e1c:481d:bde:e2ed:47a0:636a) (Ping timeout: 250 seconds)
00:04:18 asm89 joins (~asm89@unaffiliated/asm89)
00:04:21 × TommyC quits (~TommyC@unaffiliated/sepulchralbloom) (Quit: TTFN, Ta Ta For Now!)
00:04:38 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
00:04:45 × v01d4lph4 quits (~v01d4lph4@171.50.180.77) (Ping timeout: 268 seconds)
00:05:28 × ddellacosta quits (~ddellacos@86.106.143.135) (Ping timeout: 252 seconds)
00:06:33 jgt_ joins (~jgt@37.157.184.76)
00:06:40 × vicfred_ quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
00:10:05 ddellacosta joins (~ddellacos@86.106.143.31)
00:10:41 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
00:16:28 × Lowl3v3l quits (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
00:17:40 v01d4lph4 joins (~v01d4lph4@171.50.180.77)
00:20:07 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
00:21:55 ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
00:21:57 × ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Read error: Connection reset by peer)
00:21:58 × v01d4lph4 quits (~v01d4lph4@171.50.180.77) (Ping timeout: 252 seconds)
00:23:40 ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
00:24:40 jgt_ joins (~jgt@37.157.184.76)
00:25:26 × proofofkeags quits (~proofofke@205.209.28.54) (Ping timeout: 240 seconds)
00:25:26 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 260 seconds)
00:27:03 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Ping timeout: 240 seconds)
00:27:11 bennofs_ joins (~quassel@dynamic-077-013-190-096.77.13.pool.telefonica.de)
00:27:23 × xkapastel quits (uid17782@gateway/web/irccloud.com/x-evatdfdmbvnxvhjg) (Quit: Connection closed for inactivity)
00:28:01 × ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
00:28:35 × m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 246 seconds)
00:29:18 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 265 seconds)
00:31:06 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
00:31:14 × bennofs__ quits (~quassel@x4db726f5.dyn.telefonica.de) (Ping timeout: 265 seconds)
00:36:47 zaquest joins (~notzaques@5.128.210.178)
00:39:08 × ddellacosta quits (~ddellacos@86.106.143.31) (Remote host closed the connection)
00:41:12 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
00:42:49 jgt_ joins (~jgt@37.157.184.76)
00:50:06 × dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds)
00:50:23 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 250 seconds)
00:51:07 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 252 seconds)
00:52:31 jgt_ joins (~jgt@37.157.184.76)
00:53:07 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
00:53:27 jijimofo joins (~cmo@S010610561191f5d6.lb.shawcable.net)
00:54:03 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:56:30 fozworth joins (ae464c65@ip174-70-76-101.ga.at.cox.net)
00:56:46 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
00:56:50 × fozworth quits (ae464c65@ip174-70-76-101.ga.at.cox.net) (Client Quit)
00:57:49 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds)
00:59:38 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds)
01:02:06 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
01:02:56 × HannaM quits (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: HannaM)
01:05:12 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
01:05:27 nbloomf joins (~nbloomf@2600:1700:ad14:3020:85a:4fb7:871c:f700)
01:05:41 <dmj`> the bytestring package itself has operations that work on a Handle
01:06:51 × st8less quits (~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Quit: WeeChat 2.9)
01:08:20 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:85a:4fb7:871c:f700) (Client Quit)
01:09:49 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
01:10:38 × whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:10:38 jgt_ joins (~jgt@37.157.184.76)
01:11:45 whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:14:41 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
01:14:49 stree joins (~stree@68.36.8.116)
01:15:07 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 252 seconds)
01:15:34 ddellacosta joins (~ddellacos@86.106.143.174)
01:15:34 Kaiepi joins (~Kaiepi@47.54.252.148)
01:20:01 nbloomf joins (~nbloomf@2600:1700:ad14:3020:85a:4fb7:871c:f700)
01:20:25 xkapastel joins (uid17782@gateway/web/irccloud.com/x-zzsxuiyavclioktm)
01:20:27 aVikingTrex joins (2be74510@43.231.69.16)
01:20:32 × ddellacosta quits (~ddellacos@86.106.143.174) (Ping timeout: 240 seconds)
01:23:59 Tracis joins (aa4f239b@170-79-35-155.wantel.net.br)
01:24:30 <Tracis> hi guys
01:26:06 bitmapper joins (uid464869@gateway/web/irccloud.com/x-eetcvtwqhyagxzpq)
01:28:00 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 268 seconds)
01:28:56 jgt_ joins (~jgt@37.157.184.76)
01:29:09 ADG1089 joins (~aditya@223.236.186.113)
01:30:35 <Tracis> does anyone know how to solve "could not find module 'prelude' " error? I tried the "cabal v2-build" command, and gave this error message
01:30:51 × jijimofo quits (~cmo@S010610561191f5d6.lb.shawcable.net) (Quit: Leaving)
01:31:35 <Tracis> before that, I used the standard "cabal init" command
01:33:06 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
01:33:50 <cdsmith> Tracis: Check that base is listed under build-depends on the cabal file?
01:35:58 <Tracis> in the project folder or that . file in the home directory?
01:36:10 × xff0x quits (~xff0x@2001:1a81:5320:8100:2eab:8db5:7232:a44c) (Ping timeout: 276 seconds)
01:36:29 <cdsmith> In the project folder.  There should be a file, usually named after the directory with an extension of ".cabal"
01:36:59 <cdsmith> You're looking for "build-depends:", and make sure that base is one of the listed packages there
01:37:08 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
01:37:28 xff0x joins (~xff0x@2001:1a81:5215:6f00:2c52:1286:1373:82fb)
01:37:47 <Tracis> yeah, all alright in there, cdsmith
01:38:43 <Tracis> actually, idk. It is listed "base >=4.14 && <4.15"
01:39:07 <cdsmith> Yeah, that looks fine.  I'm not sure why you'd get that error, then.  base definitely defines the Prelude module.
01:39:21 <Tracis> i'll try again
01:39:32 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 240 seconds)
01:39:40 <cdsmith> And you're running cabal build from inside that directory?
01:40:19 <Tracis> yeah
01:40:25 <Tracis> maybe i figured out
01:40:58 <Tracis> "There are files missing  in the 'base-4.14.1.0' package"
01:41:45 <cdsmith> Oh, yeah.  That's weird; not sure how it happened, but I'd try deleting ~/.ghc and then rerunning the build.
01:41:56 <yushyin> Tracis: arch linux?
01:42:28 <Tracis> yushyin yes. Manjaro, actually
01:42:38 <yushyin> use ghcup
01:42:52 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
01:42:52 <Tracis> i'll try that cdsmith
01:44:05 <yushyin> Tracis: do not try to use the ghc from your linux distribution, it is not suitable for development purposes
01:44:26 <yushyin> Tracis: https://gitlab.haskell.org/haskell/ghcup-hs/#installation
01:44:53 <Tracis> yushyin ok
01:47:13 jgt_ joins (~jgt@37.157.184.76)
01:51:22 × Tracis quits (aa4f239b@170-79-35-155.wantel.net.br) (Ping timeout: 240 seconds)
01:51:32 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
01:51:52 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
01:54:42 × Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 260 seconds)
01:56:47 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
01:56:47 × darjeeling_ quits (~darjeelin@115.215.42.118) (Ping timeout: 265 seconds)
02:03:59 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Remote host closed the connection)
02:04:43 nicholasbulka joins (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389)
02:04:51 × howdoi quits (uid224@gateway/web/irccloud.com/x-kpxmuqxybttglbrz) (Quit: Connection closed for inactivity)
02:05:29 jgt_ joins (~jgt@37.157.184.76)
02:05:41 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 240 seconds)
02:07:28 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
02:07:44 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
02:09:09 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Ping timeout: 245 seconds)
02:10:19 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 265 seconds)
02:14:30 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
02:19:43 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 276 seconds)
02:20:10 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
02:21:39 × urodna_ quits (~urodna@unaffiliated/urodna) (Quit: urodna_)
02:22:36 Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net)
02:22:37 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds)
02:23:48 jgt_ joins (~jgt@37.157.184.76)
02:24:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
02:25:23 × chisui quits (5882395a@mue-88-130-57-090.dsl.tropolys.de) (Ping timeout: 240 seconds)
02:25:29 × theDon quits (~td@94.134.91.148) (Ping timeout: 246 seconds)
02:27:38 theDon joins (~td@94.134.91.246)
02:28:31 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 260 seconds)
02:30:41 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
02:31:39 × gonemad3 quits (~gonemad3@185.163.110.100) (Remote host closed the connection)
02:32:10 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
02:33:06 jgt_ joins (~jgt@37.157.184.76)
02:33:11 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
02:33:11 finn_elija is now known as Guest89986
02:33:11 FinnElija is now known as finn_elija
02:33:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
02:34:59 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
02:36:21 × Guest89986 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
02:36:41 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
02:37:26 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
02:39:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:40:14 rajivr joins (uid269651@gateway/web/irccloud.com/x-ccbitpzrbtqmayhw)
02:40:46 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds)
02:41:41 × nineonin_ quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
02:44:33 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
02:44:38 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
02:45:25 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
02:48:52 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
02:49:33 × renzhi quits (~renzhi@2607:fa49:6500:bc00::e7b) (Ping timeout: 250 seconds)
02:51:13 jgt_ joins (~jgt@37.157.184.76)
02:53:43 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
02:54:56 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
02:55:56 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 260 seconds)
02:59:41 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
03:00:39 × solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection)
03:02:43 × otulp quits (~otulp@ti0187q162-6639.bb.online.no) (Ping timeout: 248 seconds)
03:02:59 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
03:05:46 × elliott_ quits (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Read error: Connection reset by peer)
03:08:14 elliott_ joins (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net)
03:08:31 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 268 seconds)
03:09:31 jgt_ joins (~jgt@37.157.184.76)
03:13:12 dyeplexer joins (~lol@unaffiliated/terpin)
03:14:07 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 252 seconds)
03:19:04 drbean_ joins (~drbean@TC210-63-209-145.static.apol.com.tw)
03:19:46 × absence quits (torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 240 seconds)
03:20:11 × tms_ quits (thomaav@cassarossa.samfundet.no) (Ping timeout: 240 seconds)
03:21:25 tms_ joins (thomaav@cassarossa.samfundet.no)
03:21:39 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
03:21:50 × jassob quits (~jassob@korrob.vth.sgsnet.se) (Ping timeout: 246 seconds)
03:22:18 jassob joins (~jassob@korrob.vth.sgsnet.se)
03:22:50 × stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds)
03:24:58 absence joins (torgeihe@hildring.pvv.ntnu.no)
03:26:46 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
03:27:20 × ADG1089 quits (~aditya@223.236.186.113) (Remote host closed the connection)
03:28:50 notzmv joins (~zmv@unaffiliated/zmv)
03:34:49 nineonine joins (~nineonine@50.216.62.2)
03:35:39 stree joins (~stree@68.36.8.116)
03:36:58 jgt_ joins (~jgt@37.157.184.76)
03:41:06 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
03:41:34 × jrvlima quits (~jlima@2804:7f2:2a8d:d54f:ef34:bc04:6132:d4ab) (Quit: Konversation terminated!)
03:46:57 × carlomagno quits (~cararell@148.87.23.5) (Quit: Leaving.)
03:50:28 frozenErebus joins (~frozenEre@37.231.244.249)
03:50:58 bitmagie joins (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de)
03:55:14 jgt_ joins (~jgt@37.157.184.76)
04:00:19 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 268 seconds)
04:01:32 valera_ joins (~ValeraRoz@88.155.79.96)
04:01:58 × __minoru__shirae quits (~shiraeesh@46.34.207.226) (Ping timeout: 252 seconds)
04:03:08 × curiousgay quits (~gay@178.217.208.8) (Ping timeout: 246 seconds)
04:03:52 × ValeraRozuvan quits (~ValeraRoz@95.164.65.159) (Ping timeout: 240 seconds)
04:05:23 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 250 seconds)
04:10:36 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds)
04:13:30 jgt_ joins (~jgt@37.157.184.76)
04:14:51 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:15:20 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
04:18:04 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 252 seconds)
04:18:26 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
04:18:56 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
04:19:17 v01d4lph4 joins (~v01d4lph4@171.50.180.77)
04:20:21 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
04:23:51 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
04:23:57 × v01d4lph4 quits (~v01d4lph4@171.50.180.77) (Ping timeout: 252 seconds)
04:25:11 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
04:25:57 conal joins (~conal@64.71.133.70)
04:30:06 × conal quits (~conal@64.71.133.70) (Ping timeout: 240 seconds)
04:30:47 conal joins (~conal@ip-66-115-176-165.creativelink.net)
04:31:40 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:31:49 jgt_ joins (~jgt@37.157.184.76)
04:36:37 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 252 seconds)
04:37:23 × xkapastel quits (uid17782@gateway/web/irccloud.com/x-zzsxuiyavclioktm) (Quit: Connection closed for inactivity)
04:37:42 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
04:37:53 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-utanrjkuxkvzvroc)
04:37:56 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: leaving)
04:38:23 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:39:17 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Client Quit)
04:39:36 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:39:43 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Client Quit)
04:39:59 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:40:07 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 276 seconds)
04:41:04 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
04:41:53 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Client Quit)
04:42:12 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:42:52 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 268 seconds)
04:43:27 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Client Quit)
04:43:44 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:44:13 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Client Quit)
04:48:53 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
04:49:19 code_komali joins (~code.koma@120.138.12.177)
04:49:31 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
04:50:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
04:52:22 × code_komali quits (~code.koma@120.138.12.177) (Quit: Leaving)
04:52:24 curiousgay joins (~gay@178.217.208.8)
04:56:02 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
04:57:51 ddellacosta joins (~ddellacos@86.106.143.122)
04:59:13 jgt_ joins (~jgt@37.157.184.76)
05:00:56 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
05:02:26 × ddellacosta quits (~ddellacos@86.106.143.122) (Ping timeout: 252 seconds)
05:04:25 nineonin_ joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
05:05:17 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 265 seconds)
05:07:25 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 252 seconds)
05:09:41 × epicte7us quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 260 seconds)
05:10:32 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:12:34 Zao_ joins (~Zao_@185.163.110.100)
05:16:31 × bitmagie quits (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de) (Quit: bitmagie)
05:17:29 jgt_ joins (~jgt@37.157.184.76)
05:19:25 sord937 joins (~sord937@gateway/tor-sasl/sord937)
05:20:23 × valera_ quits (~ValeraRoz@88.155.79.96) (Quit: valera_)
05:21:25 recycle joins (~recycle@2600:1702:4360:b70:218a:4776:cfaf:825a)
05:21:52 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
05:24:39 jijimofo joins (~cmo@S010610561191f5d6.lb.shawcable.net)
05:25:27 Sososasa joins (~textual@2600:1700:17f2:2b0:89cf:85cc:efc3:a5cb)
05:26:00 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:85a:4fb7:871c:f700) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:26:49 × Sososasa quits (~textual@2600:1700:17f2:2b0:89cf:85cc:efc3:a5cb) (Client Quit)
05:30:03 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
05:35:17 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
05:35:38 jgt_ joins (~jgt@37.157.184.76)
05:35:43 EvilMagix joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
05:36:50 × waleee-cl quits (uid373333@gateway/web/irccloud.com/x-bdtzrtmgfdsivqab) (Quit: Connection closed for inactivity)
05:39:44 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
05:39:46 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
05:41:57 ADG1089 joins (~aditya@122.163.161.198)
05:43:31 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
05:44:10 × recycle quits (~recycle@2600:1702:4360:b70:218a:4776:cfaf:825a) ()
05:44:51 jgt_ joins (~jgt@37.157.184.76)
05:45:55 × jao quits (~jao@pdpc/supporter/professional/jao) (Ping timeout: 252 seconds)
05:47:05 × tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 246 seconds)
05:48:34 × ADG1089 quits (~aditya@122.163.161.198) (Remote host closed the connection)
05:49:06 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
05:49:27 p_____ joins (~lol@unaffiliated/terpin)
05:50:05 × p_____ quits (~lol@unaffiliated/terpin) (Client Quit)
05:50:22 p_____ joins (~lol@unaffiliated/terpin)
05:50:45 × p_____ quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
05:51:52 × dyeplexer quits (~lol@unaffiliated/terpin) (Ping timeout: 240 seconds)
05:53:13 ADG1089 joins (~aditya@122.163.161.198)
05:54:01 tomku joins (~tomku@unaffiliated/tomku)
05:55:52 plutoniix joins (~q@ppp-171-97-97-6.revip8.asianet.co.th)
05:56:22 stree joins (~stree@68.36.8.116)
05:58:38 knupfer joins (~Thunderbi@200116b82b19e500902b8df26cfd07b7.dip.versatel-1u1.de)
06:00:20 × nineonin_ quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Remote host closed the connection)
06:01:42 jgt_ joins (~jgt@37.157.184.76)
06:04:35 nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
06:05:23 ddellacosta joins (~ddellacos@86.106.143.109)
06:05:59 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 246 seconds)
06:06:24 jamm_ joins (~jamm@unaffiliated/jamm)
06:06:41 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:08:21 wonko7 joins (~wonko7@62.115.229.50)
06:08:36 Lowl3v3l joins (~Lowl3v3l@dslb-002-203-255-063.002.203.pools.vodafone-ip.de)
06:08:44 × nineonine quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Ping timeout: 245 seconds)
06:09:46 × mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 240 seconds)
06:10:07 × ddellacosta quits (~ddellacos@86.106.143.109) (Ping timeout: 252 seconds)
06:10:37 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds)
06:10:41 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
06:11:05 × ADG1089 quits (~aditya@122.163.161.198) (Quit: Konversation terminated!)
06:12:38 ADG1089 joins (~aditya@122.163.161.198)
06:13:00 michalz joins (~user@185.246.204.110)
06:13:06 <ADG1089> meta-q for restarting xmonad isn't working for me, how can i debug that? it's working when i use `xmonad --restart &`
06:14:04 <ADG1089> asking in xmonad
06:14:34 <ADG1089> anyways, traditional debuggers don't work in haskell, what is an alternative? logging and printing is a tedious task
06:16:42 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
06:16:43 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 252 seconds)
06:19:05 v01d4lph4 joins (~v01d4lph4@171.50.180.77)
06:19:52 jgt_ joins (~jgt@37.157.184.76)
06:21:05 × jijimofo quits (~cmo@S010610561191f5d6.lb.shawcable.net) (Ping timeout: 260 seconds)
06:23:12 × v01d4lph4 quits (~v01d4lph4@171.50.180.77) (Ping timeout: 240 seconds)
06:23:14 darjeeling_ joins (~darjeelin@122.245.123.138)
06:23:16 × srk quits (~sorki@unaffiliated/srk) (Quit: ZNC 1.8.1 - https://znc.in)
06:24:12 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 252 seconds)
06:24:17 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
06:24:50 srk joins (~sorki@unaffiliated/srk)
06:28:16 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds)
06:29:07 jgt_ joins (~jgt@37.157.184.76)
06:33:44 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 265 seconds)
06:36:05 coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl)
06:38:22 nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
06:39:11 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
06:39:15 × EvilMagix quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 260 seconds)
06:39:42 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
06:39:43 × xff0x quits (~xff0x@2001:1a81:5215:6f00:2c52:1286:1373:82fb) (Ping timeout: 260 seconds)
06:41:22 ddellac__ joins (~ddellacos@86.106.143.226)
06:41:42 xff0x joins (xff0x@gateway/vpn/mullvad/xff0x)
06:42:17 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Client Quit)
06:42:36 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
06:45:19 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
06:46:12 × ddellac__ quits (~ddellacos@86.106.143.226) (Ping timeout: 268 seconds)
06:46:41 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
06:47:09 jgt_ joins (~jgt@37.157.184.76)
06:50:14 cfricke joins (~cfricke@unaffiliated/cfricke)
06:50:33 <Axman6> ADG1089: traditional debuggers can work wiht Haskell, GHC can even produce DWARF info. GHCi has a debugger built in too. As for your quesrion, have toy tried #xmonad?
06:50:39 <Axman6> you*
06:51:13 <ADG1089> seems like no one replied but it's more about xmonad related question
06:51:26 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 240 seconds)
06:51:44 <ADG1089> Axman6: I've use Debug.Tracing till now, is there a tutorial on debugging the way you suggest?
06:51:47 × nineonine quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Ping timeout: 250 seconds)
06:52:02 nrdmn980 joins (~nrdmn@aufmachen.jetzt)
06:52:57 LKoen joins (~LKoen@140.170.9.109.rev.sfr.net)
06:53:30 <Axman6> I've never done it, so I'm afraid I can't really help there. the GHC manual should have info on how to do it though
06:53:56 × bennofs_ quits (~quassel@dynamic-077-013-190-096.77.13.pool.telefonica.de) (Read error: Connection reset by peer)
06:54:11 × nrdmn98 quits (~nrdmn@aufmachen.jetzt) (Ping timeout: 240 seconds)
06:54:13 bennofs_ joins (~quassel@dynamic-077-013-190-096.77.13.pool.telefonica.de)
06:54:46 nrdmn98 joins (~nrdmn@aufmachen.jetzt)
06:55:27 × xff0x quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 268 seconds)
06:55:46 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
06:55:52 × tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 240 seconds)
06:56:15 Varis joins (~Tadas@unaffiliated/varis)
06:56:19 × ADG1089 quits (~aditya@122.163.161.198) (Remote host closed the connection)
06:56:26 × nrdmn980 quits (~nrdmn@aufmachen.jetzt) (Ping timeout: 240 seconds)
06:56:56 xff0x joins (~xff0x@2001:1a81:5215:6f00:2c52:1286:1373:82fb)
06:57:09 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
06:57:51 oish joins (~charlie@228.25.169.217.in-addr.arpa)
06:58:17 frozenErebus joins (~frozenEre@37.231.244.249)
07:01:41 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
07:03:54 thc202 joins (~thc202@unaffiliated/thc202)
07:05:19 jgt_ joins (~jgt@37.157.184.76)
07:05:37 <olligobber> I have a very complicated error to figure out
07:06:05 <olligobber> oh I just figured it out
07:06:06 <Axman6> this is how you know you're writing proper haskell
07:06:53 <olligobber> the typing information is getting dropped after the template haskell is generated
07:07:44 tomku joins (~tomku@unaffiliated/tomku)
07:10:06 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 260 seconds)
07:10:59 <olligobber> yay it works
07:15:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:17:14 × Kaivo quits (~Kaivo@172-97-54-87.mc.derytele.com) (Ping timeout: 265 seconds)
07:19:28 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
07:20:35 Kaivo joins (~Kaivo@172-97-54-87.mc.derytele.com)
07:21:29 kritzefitz joins (~kritzefit@212.86.56.80)
07:23:29 jgt_ joins (~jgt@37.157.184.76)
07:24:22 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
07:27:30 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-utanrjkuxkvzvroc) (Quit: Connection closed for inactivity)
07:27:45 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 250 seconds)
07:27:57 fendor joins (~fendor@178.115.128.74.wireless.dyn.drei.com)
07:28:13 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 252 seconds)
07:28:45 ValeraRozuvan joins (~ValeraRoz@88.155.79.96)
07:31:03 × ValeraRozuvan quits (~ValeraRoz@88.155.79.96) (Max SendQ exceeded)
07:32:57 × kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao)
07:33:18 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
07:33:21 kmein joins (~weechat@static.173.83.99.88.clients.your-server.de)
07:34:54 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
07:35:26 ValeraRozuvan joins (~ValeraRoz@88.155.79.96)
07:40:19 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
07:40:22 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1)
07:40:24 jespada joins (~jespada@87.74.37.248)
07:42:59 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
07:44:11 × brkscnce_ quits (~obaum@37.120.31.251) (Ping timeout: 268 seconds)
07:47:33 × Sgeo quits (~Sgeo@ool-18b9875e.dyn.optonline.net) (Read error: Connection reset by peer)
07:47:43 × cdsmith quits (49cf15a2@c-73-207-21-162.hsd1.ga.comcast.net) (Ping timeout: 240 seconds)
07:49:09 cfricke joins (~cfricke@unaffiliated/cfricke)
07:50:44 jgt_ joins (~jgt@37.157.184.76)
07:50:57 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
07:52:31 brkscnce_ joins (~obaum@37.120.31.251)
07:53:02 fuzzypixelz joins (2ec10464@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
07:53:31 <fuzzypixelz> I made another monad tutorial: https://www.fuzzypixelz.com/2021/05/01/The-M-Word/
07:53:54 <fuzzypixelz> (just what you needed)
07:54:11 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 240 seconds)
07:54:26 <Rembane> fuzzypixelz: It doesn't contain any burritos. :O
07:54:29 Rembane reads the tutorial
07:54:41 kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49)
07:54:58 mikoto-chan joins (~mikoto-ch@gateway/tor-sasl/mikoto-chan)
07:55:10 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 252 seconds)
07:55:11 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
07:55:11 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 246 seconds)
07:59:15 enoq joins (~textual@194-208-146-143.lampert.tv)
07:59:24 jgt_ joins (~jgt@37.157.184.76)
08:02:47 <maerwald> fuzzypixelz: some critique: I find it a bit questionable to start with the laws (I prefer the parser approach). The second paragraph about the Why is kind of a misrepresentation: Monads have nothing to do with purity. And IO works without Monads too.
08:03:01 nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
08:03:25 × jneira quits (5127acfa@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.172.250) (Ping timeout: 252 seconds)
08:04:31 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
08:04:48 × fendor quits (~fendor@178.115.128.74.wireless.dyn.drei.com) (Remote host closed the connection)
08:07:29 × nineonine quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Ping timeout: 245 seconds)
08:10:21 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
08:11:44 <maerwald> the limitations of an applicative parser is a great introduction into monads, but then you have to explain applicative first
08:12:28 <maerwald> And it's also something you can code up yourself in a reasonable amount of time
08:12:52 bitmagie joins (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de)
08:13:51 <merijn> maerwald: You're not alone who thinks starting with laws is questionable :p
08:14:07 <merijn> maerwald: See one of my favourite quotes on math education :p
08:14:11 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
08:14:56 <merijn> Suppose that you want to teach the 'cat' concept to a very young child. Do you explain that a cat is a relatively small, primarily carnivorous mammal with retractible claws, a distinctive sonic output, etc.? I'll bet not. You probably show the kid a lot of different cats, saying 'kitty' each time, until it gets the idea. To put it more generally, generalizations are best made by abstraction from
08:15:02 <merijn> experience.
08:15:04 <merijn> - R. P. Boas (Can we make mathematics intelligible?, American Mathematical Monthly 88 (1981), pp. 727-731)
08:15:52 <maerwald> Yeah, the other approach is showing recurring patterns that can be abstracted out with the Monad class
08:16:07 <maerwald> It's not like we didn't use Monads before the Monad class
08:16:20 <merijn> maerwald: Well, that's Boas' exact point, no? :p
08:16:26 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:16:28 <merijn> Also, the original monad paper follows that method too
08:17:24 stree joins (~stree@68.36.8.116)
08:17:45 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
08:19:08 <maerwald> I learn better by contrast... so in order to know what a cat is, show me a dog first :p
08:19:24 <olligobber> hmm, so adding `AsSet' to a type declaration is causing errors...
08:20:07 <olligobber> in particular, this AsSet: https://github.com/olligobber/IotaBF/blob/main/lib/Functional/Iota/Free.hs#L29
08:20:32 <olligobber> which is weird, because the list I'm converting to a set has no repeats
08:22:29 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
08:24:00 × bitmagie quits (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de) (Quit: bitmagie)
08:25:42 × drbean_ quits (~drbean@TC210-63-209-145.static.apol.com.tw) (Ping timeout: 240 seconds)
08:26:29 oish joins (~charlie@228.25.169.217.in-addr.arpa)
08:28:23 alexander joins (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d)
08:28:53 alexander is now known as Guest37426
08:30:47 __monty__ joins (~toonn@unaffiliated/toonn)
08:31:01 ddellacosta joins (~ddellacos@86.106.143.31)
08:35:37 esp32_prog joins (~esp32_pro@89.45.7.186)
08:36:01 × ddellacosta quits (~ddellacos@86.106.143.31) (Ping timeout: 265 seconds)
08:37:42 <olligobber> huh, converting a list with more than 1 element to a set is breaking my instances
08:38:03 dinciorip joins (~dincio@5.171.9.145)
08:40:22 <sshine> olligobber, post example?
08:40:25 <olligobber> wait, is there a difference between : and ': ?
08:40:50 <sshine> ': looks like a type-level literal
08:40:54 <c_wraith> sometimes the parser gets confused with promoted types
08:40:57 <__monty__> ': sounds like the DataKinds promoted version.
08:40:58 <fuzzypixelz> maerwald: thanks for your feedback. Could you please elaborate on `Monads have nothing to do with purity. And IO works without Monads too.`?
08:41:33 <olligobber> nah, switching : to ': didn't fix it
08:41:47 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
08:41:50 <olligobber> I'll make a mwe
08:43:38 <sshine> since fuzzypixelz is asking, I'll also ask: can you have first-class effects that are non-monadic? or would non-monadic IO be with side-effects?
08:43:45 <__monty__> fuzzypixelz: This looks like a decent overview, https://stackoverflow.com/a/17004448
08:44:20 <maerwald> fuzzypixelz: Purity is the equivalency of call-by-value, call-by-name and call-by-need. I don't see what Monads have to do with that. People often usually refer to IO as "impure", but when you *evaulate* an IO action, nothing happens. For the second point, haskell had IO before Monads.
08:46:09 <maerwald> % seq (putStrLn "blag") (pure ())
08:46:09 <yahb> maerwald:
08:46:12 × Rudd0 quits (~Rudd0@185.189.115.108) (Remote host closed the connection)
08:46:19 <sshine> fuzzypixelz, https://stackoverflow.com/questions/17002119/haskell-pre-monadic-i-o
08:46:32 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
08:47:35 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
08:48:58 supercoven joins (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi)
08:51:13 <olligobber> mwe: https://gist.github.com/olligobber/7acce0d7b8d02d587f609f7e4b0689a4
08:51:17 <olligobber> sshine, ^
08:52:18 fendor joins (~fendor@178.115.128.74.wireless.dyn.drei.com)
08:59:55 DavidEichmann joins (~david@156.59.147.147.dyn.plus.net)
09:05:10 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
09:05:17 ddellacosta joins (~ddellacos@86.106.143.187)
09:05:45 jhrcek joins (~jhrcek@ip-89-103-183-101.net.upcbroadband.cz)
09:07:48 <sshine> olligobber, does Type1 and Type2 need the type-level equivalent of Ord? (It looks like it's called Cmp?)
09:08:13 <olligobber> I don't know
09:08:47 <sshine> olligobber, I never tried this, but I'm guessing that maybe '[Type1] does not invoke as many type-class constraints as '[Type1, Type2].
09:08:59 × jhrcek quits (~jhrcek@ip-89-103-183-101.net.upcbroadband.cz) (Client Quit)
09:09:09 oleks_ joins (~oleks@188.166.34.97)
09:09:51 × ddellacosta quits (~ddellacos@86.106.143.187) (Ping timeout: 260 seconds)
09:10:12 <olligobber> how do I make an instance of Cmp?
09:12:14 acidjnk_new2 joins (~acidjnk@p200300d0c72b9513a5163a3f5f418180.dip0.t-ipconnect.de)
09:12:46 × oleks quits (~oleks@188.166.34.97) (Ping timeout: 240 seconds)
09:13:09 <olligobber> ah, I see `type instance Cmp (Natural n) (Natural m) = CmpNat n m' in an example
09:13:49 × jgt_ quits (~jgt@37.157.184.76) (Read error: Connection reset by peer)
09:14:14 jgt_ joins (~jgt@37.157.184.76)
09:15:28 <olligobber> just gotta figure out how to compare types then
09:17:26 <olligobber> this should work? https://hackage.haskell.org/package/cmptype-0.2.0.0/docs/Type-Compare-Plugin.html
09:23:41 sshine doesn't know. I was thinking: type instance Cmp Type1 Type1 = EQ, etc.
09:24:50 <sshine> here's a more elaborate example where the type family Cmp is defined in the same way as in Data.Type.Set: https://gist.github.com/hyone/3799190#file-gistfile1-hs-L29
09:25:11 <sshine> sorry, not exactly the same.
09:25:14 <sshine> but pretty close.
09:26:02 <sshine> and yeah, you'd probably want deriving if that exists. :-D
09:29:35 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:3f6d:f920:f5c0:6bcc) (Ping timeout: 260 seconds)
09:32:32 × curiousgay quits (~gay@178.217.208.8) (Remote host closed the connection)
09:32:32 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving)
09:33:09 × dmytrish quits (~mitra@2a02:8084:a82:d900:4cc7:f0a8:8d74:1dfc) (Ping timeout: 246 seconds)
09:34:13 Pickchea joins (~private@unaffiliated/pickchea)
09:34:40 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 2.8)
09:39:03 ddellacosta joins (~ddellacos@86.106.143.31)
09:41:09 hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:93ad:6112:53d2:cb65)
09:41:45 nut joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
09:42:11 × ValeraRozuvan quits (~ValeraRoz@88.155.79.96) (Remote host closed the connection)
09:42:39 ValeraRozuvan joins (~ValeraRoz@88.155.79.96)
09:43:32 × ddellacosta quits (~ddellacos@86.106.143.31) (Ping timeout: 240 seconds)
09:49:22 benkolera joins (uid285671@gateway/web/irccloud.com/x-etixrpfkvxahekhz)
09:51:03 ClaudiusMaximus joins (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net)
09:51:03 × ClaudiusMaximus quits (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host)
09:51:03 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
09:54:09 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 245 seconds)
09:54:12 × And1 quits (~And1@brewington.uberspace.de) (Quit: information\overflow())
09:54:42 otulp joins (~otulp@ti0187q162-4661.bb.online.no)
09:56:43 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
09:58:00 × fuzzypixelz quits (2ec10464@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Connection closed)
09:58:33 × ValeraRozuvan quits (~ValeraRoz@88.155.79.96) (Quit: ValeraRozuvan)
10:02:58 cads joins (~cads@ip-64-72-99-232.lasvegas.net)
10:04:17 Rudd0 joins (~Rudd0@185.189.115.108)
10:04:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
10:07:23 Synthetica joins (uid199651@gateway/web/irccloud.com/x-nqhwubaiasxmaztx)
10:07:49 <olligobber> ah, cmptype requires ghc (>=8.6.3 && <8.8)
10:08:42 × jespada quits (~jespada@87.74.37.248) (Quit: Leaving)
10:09:18 × lurkless quits (~ll@unaffiliated/lurkless) (Ping timeout: 260 seconds)
10:09:25 × fendor quits (~fendor@178.115.128.74.wireless.dyn.drei.com) (Read error: Connection reset by peer)
10:10:27 ddellacosta joins (~ddellacos@86.106.143.135)
10:13:55 esp392892 joins (~esp32_pro@89.45.7.186)
10:15:15 × ddellacosta quits (~ddellacos@86.106.143.135) (Ping timeout: 268 seconds)
10:15:19 frozenErebus joins (~frozenEre@37.231.244.249)
10:15:35 fendor joins (~fendor@178.115.128.74.wireless.dyn.drei.com)
10:17:07 <olligobber> oh, is it easy to compare symbols?
10:17:43 <olligobber> oooooooh
10:18:58 <tomsmeding> olligobber: is happy
10:19:46 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:21:21 × kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao)
10:21:39 kmein joins (~weechat@static.173.83.99.88.clients.your-server.de)
10:21:47 cub3s_ joins (bifunc2@gateway/vpn/protonvpn/bifunc2)
10:22:38 <olligobber> it works
10:23:44 <cub3s_> Is Nixpkgs (non-broken packages) analogous to a Stack resolver?
10:24:13 <cub3s_> maralorn, cc
10:24:30 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
10:25:38 × stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds)
10:25:38 × Natch quits (~Natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection)
10:28:04 l-as joins (lasmatrixo@gateway/shell/matrix.org/x-nzwzhdnldqukobbz)
10:30:37 × gnumonic quits (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
10:30:57 lurkless joins (~ll@unaffiliated/lurkless)
10:31:02 Natch joins (~Natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
10:35:04 × LKoen quits (~LKoen@140.170.9.109.rev.sfr.net) (Read error: Connection reset by peer)
10:36:53 LKoen joins (~LKoen@140.170.9.109.rev.sfr.net)
10:38:16 stree joins (~stree@68.36.8.116)
10:43:54 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
10:45:53 chisui joins (588239b3@mue-88-130-57-179.dsl.tropolys.de)
10:46:57 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
10:47:49 daaruya joins (0512f6f3@5.18.246.243)
10:47:49 HannaM joins (~quassel@p54849510.dip0.t-ipconnect.de)
10:49:36 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
10:51:38 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
10:52:45 × daaruya quits (0512f6f3@5.18.246.243) (Quit: Connection closed)
10:54:13 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
10:54:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:54:34 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
10:54:54 tsteeples joins (~steeps@cpc121168-oxfd27-2-0-cust161.4-3.cable.virginm.net)
10:58:12 philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
10:58:38 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Read error: Connection reset by peer)
10:59:25 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 252 seconds)
10:59:28 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
10:59:43 ukari joins (~ukari@unaffiliated/ukari)
10:59:52 × raym quits (~ray@45.64.220.116) (Ping timeout: 240 seconds)
11:02:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: leaving)
11:02:43 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
11:03:45 <tsteeples> Hi all - recently started getting back into Haskell, and having trouble understanding what the best way to approach a certain problem is. I have an fixed sqlite database, from which I need to read only (no writing). Naturally, I'm trying to keep pure and IO functionality separate, but some of my "atomic" operations do require access to the database (I'm essentially using it as a lookup table). Thus it seems that all
11:03:46 <tsteeples> my code will become fairly inextricably tied into the IO monad. Is there a better pattern for this, or just something I have to suck up? In the grand scheme of things, the database isn't large at all (2MB), so it is somewhat possible to just embed the data straight into code, but I can't imagine that's anything resembling best practice. Does anyone have any good suggestions/any patterns that I'm not aware of? Cheers
11:03:46 <tsteeples> in advance.
11:05:01 × esp32_prog quits (~esp32_pro@89.45.7.186) (Remote host closed the connection)
11:05:18 <cub3s_> tsteeples, you could read that 2MB data into memory (as a neat data structure) and just use it purely from then on
11:05:27 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:05:50 × Guest52589 quits (~textual@zrcout.mskcc.org) (Quit: Textual IRC Client: www.textualapp.com)
11:06:26 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:06:29 <chisui> tsteeples you could create a class for your database actions and let `IO` implement that class. This makes it possible to also have a pure implementation for testing.
11:07:03 <chisui> something like `class Db m where readValue :: String -> m String`
11:07:39 <tsteeples> cub3s_... I'm an idiot. Yeah, that's perfect, I'll do that.
11:07:55 EvilMagix joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
11:07:58 <merijn> I never understood the "pure implementation" for testing approach to DB interaction
11:08:12 <tsteeples> chisui - ok, so what advantage would that offer over just doing everything through the IO monad?
11:08:22 <merijn> Like, I need my code to work with an *actual* database, not a hypothetical one
11:08:43 <merijn> tsteeples: Allows you to refactor DB logic independent from the rest of your code
11:08:59 <maerwald> merijn: theoretically separating types of bugs... you would still run it against an actual DB as well
11:09:12 <maerwald> it has its merits
11:09:24 <merijn> maerwald: Right, so it just sounds like "more work" in the case of databases
11:09:28 <chisui> tsteeples code that operates on the abstraction does not have the full power of `IO`.
11:09:29 <maerwald> yes
11:09:44 <merijn> tsteeples: I probably wouldn't go the "readValue" approach described earlie
11:10:06 <merijn> tsteeples: What I'm using myself now (that I'm fairly happy with) is: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/Sql/Core.hs#L130-L133
11:10:35 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
11:10:48 <tsteeples> merijn: Ah cool, ok, I'll take a look
11:10:54 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:11:19 <tsteeples> merijn: Looks neat, cheers all!
11:11:28 <merijn> tsteeples: All my actual queries use that class to grab a connection, which means my database operations can only rely on "there is a connection we can do stuff on" and can't accidentally rely on the rest of my code
11:11:36 <chisui> merijn in most cases I wouldn't abstract the DB access itself into a class but rather functions to access processed data. Kind of like an equivalent to the OOP DAO pattern.
11:11:46 <merijn> tsteeples: Which in turn means it's easy to adapt/reuse my database code in different settings
11:13:03 × kadoban quits (~mud@unaffiliated/kadoban) (Quit: bye)
11:13:13 <cub3s_> Is Nixpkgs (non-broken packages) analogous to a Stack resolver?
11:13:45 <merijn> tsteeples: I'm growing quite fond of the "have a very tiny set of core primitives in a class, implement the full API on top of that" approach. It enforces decoupling which makes it easier to refactor things later
11:13:50 <chisui> in tsteeples case I would also just read the db on startup
11:14:16 <merijn> tsteeples: For example, since the db code only relies on those 3 primitives in the class, any refactor can never require more work than fixing those 3 things
11:14:29 <merijn> Which is generally fairly trivial
11:14:48 <merijn> I missed the initial question, so I dunno :p
11:15:11 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
11:15:14 <Taneb> cub3s_: I think it's currently based on a recent stackage nightly
11:16:22 ValeraRozuvan joins (~ValeraRoz@95.164.65.159)
11:17:40 <cub3s_> Taneb, yes but it does have all hackage packages that are not in stackage (although ones i've seen so far happen to be marked as broken)
11:18:04 <cub3s_> has anyone written something about stack vs. nixpkgs that answers such questions?
11:18:18 <merijn> Probably
11:18:48 <merijn> There seems to be and endless supply of nixpkg propaganda on blogs >.>
11:19:06 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:19:14 <cub3s_> merijn, what do you mean propaganda
11:19:45 <maerwald> sunk cost fallacy
11:19:54 <Arahael> Learning nix is *hard*.
11:20:03 <Arahael> I still haven't learnt it.
11:20:03 <maerwald> you spent 3 years figuring out nix, now you gotta use it for everything and say it's great
11:20:34 <merijn> cub3s_: "propaganda, noun, information, especially of a biased or misleading nature, used to promote a political cause or point of view."
11:20:40 <merijn> cub3s_: Seems accurate enough :)
11:20:45 <Arahael> I find the nix language weird, but it doesn't help that it's a bona-fide language, and the way you use it to configure larger projects seems... Random.
11:20:49 <merijn> Don't get me wrong, I like nix *in theory*
11:20:55 <Arahael> I love nix in theory.
11:20:58 <merijn> I just hate nix *in practice*
11:21:08 <Arahael> I regret running nix on my (personal) server.
11:21:23 <cub3s_> what are the biggest issues with it?
11:21:29 <Arahael> I think I'd have been far better off just installing debian, and maybe using nix for a couple of rnadom projects.
11:21:35 <merijn> cub3s_: There's lots of blog posts espousing how Nix will solve all your problems, but I find it very painful to use
11:21:36 <maerwald> cub3s_: figuring out how it works :D
11:21:41 × plutoniix quits (~q@ppp-171-97-97-6.revip8.asianet.co.th) (Quit: Leaving)
11:21:57 <Arahael> cub3s_: Nix is, frankly, little more than a huge, huge program with a whole lot of code.
11:21:57 <merijn> cub3s_: The language is entirely undocumented, errors opaque/impossible, getting it configured to work is a massive PITA
11:22:07 <Arahael> Oh, the language is slightly documented.
11:22:12 <hc> that sums up my (brief) experience with it :)
11:22:18 <merijn> cub3s_: Like, I'm sure that if someone has a curated setup you can use, it works great
11:22:34 <merijn> But if you don't have a nix expert on hand, be prepared to spend days getting it working :p
11:22:53 <merijn> Meanwhile v2-build gives me, like, 80-90% of the benefit for 5% of the work :p
11:23:23 <maerwald> static binaries, forget nix
11:23:47 <Arahael> I still don't know how to use nix with a project. Do I have .nix files in teh repo, or keep it separate? How do I refer to the actual nix tree, etc.
11:24:03 <cub3s_> i thought nixpkgs (or stack resolver) was supposed to provide curated package sets, thus adding to cabal
11:24:05 <maerwald> although if your project is composed of several binaries (like blockchains)... static alone isn't enough
11:24:12 Alleria joins (~textual@zrcout.mskcc.org)
11:24:23 <merijn> maerwald: Oh, my one conclusion from my career so far, especially in science is: https://i.imgflip.com/586wyo.jpg
11:24:26 × texasmynsted quits (~texasmyns@99.96.221.112) (Ping timeout: 260 seconds)
11:24:36 <maerwald> so cardanos daedalus uses nix under the hood to start up node/wallet etc
11:24:36 Alleria is now known as Guest69224
11:24:37 <Arahael> That said, a nix-ified project is pretty nice to get into. nix-shell -p, and you're in an environment that's already setup to dev in it.
11:24:51 <maerwald> I can see how that is actually a good use case
11:25:04 <maerwald> but I don't envy the people maintaining it
11:25:15 texasmynsted joins (~texasmyns@99.96.221.112)
11:25:22 <merijn> cub3s_: Well, that depends on how you value the curation (and what you expect that to entail)
11:26:01 <cub3s_> merijn, maybe the fact is you don't encounter dependency hell that often in practice?
11:26:05 <merijn> I mean, stack curation is mostly "check things build and run some of the tests"
11:26:26 <merijn> cub3s_: v2-build has eliminated most of my pain wrt dependencies
11:26:30 <cub3s_> (or maybe even the existence of stack/nixpkgs have themselves motivated devs to remove such dependency hells to begin with, leading to cabal being useful on its own??)
11:26:32 <Arahael> I have dependency hell at work. :(
11:26:48 <Arahael> merijn: Oh, today I made PROGRESS! :D I compiled half my project in xcode 12.5 :D
11:26:49 <merijn> cub3s_: Most of the remaining issues with v2-build are just "trying to use bit-rotted packages"
11:27:01 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
11:27:37 <merijn> cub3s_: Depends, was your cabal experience with v1-build or v2-build? Because those are *very* different experiences :p
11:27:41 <maerwald> merijn: cabal doesn't solve the problem sufficiently where you have many inter-dependent teams and projects that have different release schedules etc
11:27:52 <maerwald> with stack you can say all of them use the same resolver
11:28:01 <maerwald> you can't have a remote freeze file, for instance
11:28:04 <merijn> maerwald: Sure, I'm not saying it solves every issue
11:28:06 × esp392892 quits (~esp32_pro@89.45.7.186) (Ping timeout: 260 seconds)
11:28:27 <merijn> but also, not everyone is working in teams/setups like that
11:28:37 <Arahael> maerwald: Incidentially, I found using stack with nix quite dificult, even though stack ostensibly supports nix.
11:28:41 <cub3s_> merijn, probably v1 some years ago. honestly that must have been the reason we started using stack in the first place? hmm.
11:28:48 <merijn> cub3s_: Probably
11:29:33 <merijn> cub3s_: v2-build didn't get released until 2016 and wasn't the default until cabal 3.0, which is from...2019
11:29:42 esp32_prog joins (~esp32_pro@89.45.7.186)
11:29:53 <merijn> cub3s_: So if you haven't used it, it's certainly worth trying again :)
11:29:56 × tsteeples quits (~steeps@cpc121168-oxfd27-2-0-cust161.4-3.cable.virginm.net) (Quit: Leaving)
11:30:03 ccapndave joins (~ccapndave@213.55.220.91)
11:30:07 <cub3s_> wow ok, very recent! ok yes i indeed remember "dangerous reinstall" lol
11:30:13 <merijn> cub3s_: Oh yeah
11:30:22 <merijn> cub3s_: That's from the era of pain :p
11:30:27 <cub3s_> ok, so wow... maybe stack/nixpkgs are now obsolete!
11:30:28 <merijn> cub3s_: It's incomparable with now
11:30:55 nicholasbulka joins (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389)
11:31:12 <ccapndave> Hey everyone - I am trying to upgrade my Haskell platform (because I haven't used it for ages and am about to start a course). I've installed gchup and everything looks fine, but I seem to have `~/.cabal.bin` in my PATH and I have absolutely no idea how its getting there. This is on MacOS with zsh. Does anyone have a clue where the path might be being set?
11:31:15 <merijn> cub3s_: v2-build allows infintely parallel installs of the same package. Nix-inspired (every install tagged with hash of build flags and transitive dependencies)
11:31:23 <ccapndave> Its not in `.zshrc`, `/etc/profile` or `/etc/zprofile`
11:31:41 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
11:31:45 <cub3s_> wow how did i not know about this... :S
11:31:48 <Arahael> merijn: Very nice!
11:31:48 <cub3s_> nix propaganda??
11:31:51 <merijn> cub3s_: When you build it computes a build-plan, and then dynamically exposes only the relevant installed packages for the build, so you no longer get conflicts between different projects on the same machine
11:32:35 <merijn> cub3s_: Also massive improvements like "if you do a profiling build, it will just install missing profiling dependencies without breaking everything" :p
11:33:15 × ericsagnes quits (~ericsagne@2405:6580:0:5100:4bd1:656f:4270:d212) (Ping timeout: 260 seconds)
11:33:16 <merijn> cub3s_: Like I said, I like Nix *the idea* I just don't like the execution :p v2-build is the same idea (although limited to Haskell packages)
11:33:37 <merijn> cub3s_: See also: https://cabal.readthedocs.io/en/latest/nix-local-build-overview.html (although note that the v2- prefix is optional in 3.0 and later)
11:33:48 carlomagno joins (~cararell@148.87.23.13)
11:34:00 <merijn> Since it's now the default
11:34:06 <Arahael> merijn: And I expect v2-build has a fighting chance of actually working on windows.
11:34:18 <Arahael> I used to use nix on my mac, but I haven't for over two years.
11:34:31 <Arahael> (It's just a super massive PITA on the mac, and you can't run "pure" anyway)
11:35:11 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Ping timeout: 250 seconds)
11:35:52 <maerwald> everything is a PITA on mac
11:36:38 Arahael twitches
11:36:39 <merijn> cub3s_: It doesn't solve issue with system/C package management and issues of "there is no buildplan", but with v2-build *if* there is a working buildplan it builds, which definitely wasn't the case in the "dangerous reinstall" era :p
11:36:40 <cub3s_> yes i've abandoned mac because of it
11:37:23 <cub3s_> merijn, for me these non-haskell dependencies are usually just a few apt install commands
11:37:48 <cub3s_> that cabal documentation is nice!
11:38:36 × dinciorip quits (~dincio@5.171.9.145) (Ping timeout: 260 seconds)
11:38:45 <cub3s_> "if b has a loose dependency on c such that it may bump a major version, or if the developer of c does not respect semver. a may cause c to be updated to a point where b does not work. Alternatively b may cause c to be held to a lower version than what a is expecting (because there was a bug fix in a minor version which b does not depend on) Now b will build with old c but a will fail. These are the issues with Cabal"
11:38:49 <cub3s_> https://medium.com/@edmundnoble/cabal-or-stack-25886c0ac74f
11:38:55 <cub3s_> does v2 solve this?
11:39:22 <maerwald> I use stackage with cabak
11:39:26 <maerwald> *cabal
11:39:54 <merijn> cub3s_: No*, but Hackage supports revisions to retroactively apply upperbounds and unbreak build plans in these scenarios
11:40:16 <merijn> cub3s_: You can also generate freeze files, that preserve the current buildplan exactly
11:40:24 <maerwald> yeah, revisons are awful
11:40:35 dinciorip joins (~dincio@5.171.9.137)
11:40:48 <merijn> maerwald: revisions are a necessary evil as long as people insist on shitty upperbound hygiene
11:41:21 <cub3s_> maerwald, you mean you use cabal with stackage instead of hackage, but don't use the "stack" tool?
11:41:23 <merijn> cub3s_: Tangentially related, but many people don't know it exists: https://pvp.haskell.org/
11:41:45 <merijn> cub3s_: stackage is, effectively, just a freeze file of specific versions of packages
11:41:58 <merijn> cub3s_: You can generate constraints from that and feed them to cabal-install
11:42:06 <maerwald> merijn: no, they are not necessary. You can bump the version when fixing package metadata. It's also the fault of PVP for not having revisions
11:42:06 <merijn> And get the same behaviour
11:42:24 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
11:42:27 <maerwald> so to fix one mistake, they made another
11:42:45 <maerwald> now revisions are an infrastructure specific API
11:42:49 <merijn> maerwald: How do you propose filtering the old, broken, version from buildplans?
11:43:13 <maerwald> merijn: what do you mean?
11:43:29 <merijn> cub3s_: Also related: https://gist.github.com/merijn/8152d561fb8b011f9313c48d876ceb07
11:43:47 <merijn> maerwald: Suppose foo-1.0.0 is released with no upperbound on bar, which breaks when bar is released
11:44:10 <merijn> maerwald: How do I make sure the build-plan doesn't include foo-1.0.0 with the incompatible version of bar
11:44:29 <maerwald> you release foo-1.0.1
11:44:39 <merijn> maerwald: That doesn't fix anything
11:44:43 <maerwald> it does
11:44:49 <merijn> maerwald: The solver still sees foo-1.0.0 and can't know its broken
11:45:09 mud joins (~mud@unaffiliated/kadoban)
11:45:14 <merijn> So the solver will still find buildplans using the broken -1.0.0
11:45:26 <maerwald> why would it?
11:45:42 <merijn> You need to somehow tell the solver it cannot use foo-1.0.0 with bar X *or* remove foo-1.0.0 from the index (potentially breaking a lot more)
11:45:53 <merijn> maerwald: Ok, let me sketch a scenario
11:46:01 <maerwald> yes, broken versions can be removed
11:46:05 <maerwald> that's what distros do
11:46:09 <maerwald> all solved problems
11:46:16 <merijn> maerwald: That is much more work
11:46:25 × ccapndave quits (~ccapndave@213.55.220.91) ()
11:46:30 <maerwald> I think most of the time you don't need it
11:46:33 <merijn> maerwald: Because now *everything* transitively depending on foo needs a new release
11:46:34 <maerwald> cargo also works without it
11:46:46 ericsagnes joins (~ericsagne@2405:6580:0:5100:a104:d14:93ae:b6b0)
11:47:15 × todda7 quits (~torstein@2a02:587:3724:1a75:aca:df22:9d82:969f) (Ping timeout: 260 seconds)
11:47:23 <maerwald> merijn: what?
11:49:12 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
11:50:07 <merijn> foo-1.0.0 depends on bar, but without an upperbound. A new release, bar-2.0 comes out and breaks foo-1.0.0 due to foo not having an upperbound on bar. My package quux depends on: "foo == 1.0.0, bar >= 0.5 && < 2.1" The solver sees "foo-1.0.0" works with all versions of bar and sees "bar-2.0" so it generates that buildplan. Now things are broken, because foo-1.0.0 doesn't compile with bar-2.0. The solution
11:50:13 <merijn> with revision is to update the upperbound of foo to exclude the (broken) bar-2.0, and then everything works
11:50:46 <maerwald> merijn: ah, your problem... don't depend on == 1.0.0, use PVP upper bounds
11:50:58 <maerwald> the only reason you would do == is freeze files
11:51:04 <merijn> maerwald: Hackage has 10,000s of packages doing all sorts of stupid stuff
11:51:16 <merijn> maerwald: Your solution would break tons of them
11:51:16 <maerwald> and then you already have a working build plan and have bar fixed
11:51:27 × nut quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
11:51:37 <maerwald> merijn: no no... I'm not saying we can reasonably revert revisions
11:51:43 <maerwald> I'm saying they were a mistake though
11:51:56 <merijn> maerwald: The whole reason we need revisions is because people keep refusing to to add upperbounds at all, let alone proper PVP ones
11:52:12 <merijn> maerwald: And your solution is "it's not a problem if you have proper PVP bounds"?
11:52:30 <merijn> If we had that, we wouldn't need revisions in the first place
11:52:50 supercoven_ joins (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi)
11:52:50 × supercoven_ quits (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Max SendQ exceeded)
11:53:05 supercoven_ joins (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi)
11:53:18 <maerwald> in-place updates have been frowned upon by anyone doing packaging in the last 30 years... we've successfully used revision bumps (as part of the actual package version) to fix metadata updates
11:53:29 __minoru__shirae joins (~shiraeesh@46.34.207.226)
11:53:38 <maerwald> I can't see why haskell would be special here
11:53:52 <merijn> maerwald: The manpower to bump everything does not exist
11:54:10 <joel135> What's PVP?
11:54:37 <hpc> package versioning policy
11:54:42 <joel135> Ok
11:54:52 <hpc> https://pvp.haskell.org/
11:55:45 <cub3s_> thanks to you today i realized i was barking up a wrong nix tree. turns out i don't need nix. i don't need stack either. all i need: cabal-install and ghc of my choice.
11:55:46 × supercoven quits (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 240 seconds)
11:55:48 <cub3s_> thanks a lot
11:56:33 <cub3s_> btw i sadly noticed cryptonite doesn't follow pvp
11:56:36 <cub3s_> causing some pain
11:57:26 × esp32_prog quits (~esp32_pro@89.45.7.186) (Ping timeout: 240 seconds)
11:57:55 <maerwald> merijn: you don't necessarily need mass updates... e.g. hackage could reject packages that pin micro versions
11:59:52 <yushyin> for reference in cargo/crates.io you can mark a published package as 'yunk', thus it is not considered in future build plans. No revisions and it seems to work for them.
12:00:15 drbean_ joins (~drbean@TC210-63-209-53.static.apol.com.tw)
12:00:27 <maerwald> and then, as I've explained many times (again, this is what distros do since decades)... you could have CI that tests reverse dependencies (just the solving) when you release a new major API version
12:01:09 <maerwald> you won't have 100% coverage, but well
12:01:20 <maerwald> (due to flags/arches/...)
12:01:43 <merijn> yushyin: revision are just "selective yunking" :p
12:02:35 <maerwald> yushyin: yes, that's more reasonable
12:02:38 <merijn> yushyin: I mean "foo-1.0.0" is fine in principle, just not with "bar-2.0" so why invalidate it entirely, if you can just invalidate it in combination with bar-2.0
12:03:33 <maerwald> yushyin: it also maintains the invariant that a tarball is a self-contained entity and a version fully describes the package
12:03:49 <maerwald> revisions are just a dirty hack
12:04:06 <maerwald> but then again, semver has actual revisions, PVP doesn't
12:04:31 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:07:02 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
12:09:12 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
12:09:27 Deide joins (~Deide@217.155.19.23)
12:10:53 urodna joins (~urodna@unaffiliated/urodna)
12:11:58 <maerwald> now the only way to "pin" a revision is to pin the revision of ALL packages (hackage index)
12:12:01 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
12:12:07 raym joins (~ray@45.64.220.116)
12:12:21 <maerwald> stack has a way to pin a revision, but it's really against PVP
12:12:40 <maerwald> so not sure what's good about this situation
12:12:53 st8less joins (~st8less@2603:a060:11fd:0:ca9e:ebe6:5380:afd8)
12:14:16 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 268 seconds)
12:16:07 todda7 joins (~torstein@2a02:587:3724:f30b:d88b:b67e:116b:c170)
12:16:14 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
12:16:22 × cub3s_ quits (bifunc2@gateway/vpn/protonvpn/bifunc2) (Quit: Leaving)
12:17:11 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 240 seconds)
12:17:26 <tdammers> at least pvp has a somewhat clear definition of what those numbers mean
12:17:32 bis0lini joins (~bis0lini@87.254.161.69)
12:17:42 thblt joins (~thblt@unaffiliated/thblt)
12:19:20 <maerwald> yeah, haskell specific meaning
12:19:50 <tdammers> of course. that's a big downside, it only really makes sense for languages with the same import/export/module semantics as Haskell
12:19:53 <maerwald> I haven't made up my mind whether that's a doog thing
12:20:01 cheater joins (~user@unaffiliated/cheater)
12:20:02 <maerwald> *good
12:20:12 <tdammers> IMO the biggest issue with pvp is that it's still down to manual diligence
12:20:27 <merijn> Pretty sure everyone wants a machine based PVP
12:20:33 <maerwald> there seems to be a correlation between inhalation of soldering flux and my grammar...
12:20:35 <merijn> but making that is...non-trivial
12:20:44 <tdammers> merijn: indeed.
12:20:50 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:20:52 <merijn> Entirely unrelatedly
12:21:03 <yushyin> btw. I also think it's just more common in cargo to use the semver operator '^x.y.z' (like cabals '>= ...') but in cargo the ^ operator is the default. if you specify = "x.y.y" it will be interpreted as "^x.y.z"
12:21:15 <merijn> Do any of you guys know if there's a convenient standard interface for doing ARP lookups?
12:21:25 <maerwald> yushyin: yeah, that's a preety nice hack imo
12:22:09 <merijn> Before I go through the insanity of writing my own ARP requests using raw sockets... >.>
12:22:14 <tdammers> I even suspect that a "machine based pvp" is practically impossible in Haskell, given the existence of TH and CPP and such
12:22:32 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
12:22:33 <merijn> tdammers: CPP needs to die anyway
12:22:52 <tdammers> merijn: yes, but not until the remaining use cases have been dealt with
12:22:57 <merijn> It's completely untenable
12:23:13 <merijn> tdammers: Oh, we can probably keep most of the current functionality and semantics
12:23:23 <maerwald> merijn: apple thought so too with swift (no CPP)... and I can tell you, you won't like it
12:23:24 <tdammers> I'd even argue that reusing CPP as a source preprocessor language for Haskell was a mistake
12:23:27 <merijn> We should just built it into GHC and not pretend it's CPP
12:23:36 <merijn> tdammers: We don't use it
12:23:40 <merijn> That's the problem
12:24:01 <tdammers> I'm not talking about CPP the program, I'm talking about using CPP syntax
12:24:32 <merijn> It's on my list of pet problems I will work on whenever someone wants to pay me to work on GHC or whenever I have time somewhere in the next decade :p
12:24:50 <yushyin> like you said with revisions, it is sometimes a 'necessary evil' :P
12:24:55 <merijn> yushyin: No
12:25:11 <merijn> yushyin: CPP is different in that we are setting ourselves up for disaster
12:25:13 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
12:25:19 <merijn> There is no sane way to make CPP work with Haskell
12:25:27 × Zao_ quits (~Zao_@185.163.110.100) (Remote host closed the connection)
12:25:35 <merijn> Enabling CPP *will* make whole bunches of valid Haskell code fail to compile
12:25:48 <merijn> The CPP tokenization rules are fundamentally incompatible with Haskell
12:25:56 nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
12:25:57 <maerwald> the most annoying thing about CPP is that it breaks so many tools
12:26:03 <tdammers> which is exactly why I'm saying that using CPP syntax for preprocessing Haskell code was not the right choice
12:26:04 <merijn> We already need use crazy legacy/-traditional switches to make GCC/clang work
12:26:29 <maerwald> find me a source code prettifier that can handle CPP (correctly) :p
12:26:39 <merijn> tdammers: CPP with Haskell specific tokenisation would be fine, and probably function unchanged for 98% of Hackage uses
12:26:47 <tdammers> on a completely unrelated side note, the semver spec is full of condescending bullshit
12:27:17 <merijn> Versioning is hell, but that's a boring topic. Let's get back to my question: How do I do ARP lookups? >.>
12:27:31 <maerwald> perl did some funny stuff with versioning
12:28:06 <yushyin> please don't start with that mess :D
12:28:23 <merijn> I really don't wanna implement ARP myself using raw sockets :(
12:28:29 <edmundnoble> cub3s_: that article came out after nix-style builds became the default in cabal, it's still current as far as I know
12:28:53 × benkolera quits (uid285671@gateway/web/irccloud.com/x-etixrpfkvxahekhz) (Quit: Connection closed for inactivity)
12:29:44 <tdammers> personally, I think that if you want to get rid of manual diligence being a factor in versioning, then there are two realistic strategies: A) just pin everything down to exact matches (either by vendoring in your dependencies verbatim, or using freeze files, or via content-addressable code), and B) develop a language that has such fine-grained dependency inference that you can resolve dependencies on a
12:29:46 <tdammers> per-identifier basis
12:30:33 <maerwald> what if API doesn't break, but behavior changes?
12:30:43 × nineonine quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Ping timeout: 276 seconds)
12:30:49 <maerwald> wrt B)
12:31:04 <tdammers> pin it down with types, I guess
12:31:34 <maerwald> I mean the big seller of semver, PVP etc were: you can break behavior without renaming your function
12:32:07 × todda7 quits (~torstein@2a02:587:3724:f30b:d88b:b67e:116b:c170) (Remote host closed the connection)
12:32:07 <tdammers> except that you really are renaming your function
12:32:15 <tdammers> it's just indirect
12:32:37 <maerwald> so we can have versions per identifier? :)
12:32:41 <tdammers> pmuch
12:33:08 <maerwald> so solving will take more time than compiling, I guess
12:33:16 <tdammers> it depends though
12:33:30 OldMiner joins (~OldMiner@185.169.233.12)
12:33:35 <tdammers> if you combine it with content-addressable identifiers and freezing, then you won't need to do a full solver run very often
12:33:35 <yushyin> cargo does this btw.
12:34:44 kuribas joins (~user@ptr-25vy0i74839npjhgcue.18120a2.ip6.access.telenet.be)
12:34:44 <tdammers> also: when the behavior of a function changes, then as a consumer of the API, you 1) want to know, and 2) likely want to keep using the old version until you decide that the new version has advantages that are worth changing your code for
12:35:37 <tdammers> in this context, I also think that there is no such thing as a "compatible bugfix". if you don't change the behavior, then it's not a bugfix; but if you do change the behavior, then it's no longer the same thing, and thus not compatible
12:36:00 <merijn> carter: You're not in numerical-haskell! :O
12:36:24 <carter> Watt
12:36:33 todda7 joins (~torstein@2a02:587:3724:f30b:d88b:b67e:116b:c170)
12:38:50 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:40:55 ddellacosta joins (~ddellacos@86.106.143.239)
12:41:54 totte joins (~totte@chakra/totte)
12:41:54 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 260 seconds)
12:42:37 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 252 seconds)
12:42:52 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
12:43:15 × todda7 quits (~torstein@2a02:587:3724:f30b:d88b:b67e:116b:c170) (Ping timeout: 260 seconds)
12:45:12 × ddellacosta quits (~ddellacos@86.106.143.239) (Ping timeout: 240 seconds)
12:45:20 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
12:45:42 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
12:46:16 × stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds)
12:46:26 nicholasbulka joins (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389)
12:49:27 × dinciorip quits (~dincio@5.171.9.137) (Quit: WeeChat 3.1)
12:50:17 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
12:53:59 bitmagie joins (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de)
12:55:08 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
12:55:14 × bitmagie quits (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de) (Client Quit)
12:56:21 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
12:57:11 cheater joins (~user@unaffiliated/cheater)
12:58:26 × philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:58:38 ddellac__ joins (~ddellacos@86.106.143.18)
12:58:40 × EvilMagix quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 276 seconds)
12:59:32 stree joins (~stree@68.36.8.116)
13:00:07 nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
13:01:36 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Remote host closed the connection)
13:01:52 nicholasbulka joins (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389)
13:02:26 × kaletaa quits (~kaletaa@188.34.177.83) (Quit: ZNC 1.8.1 - https://znc.in)
13:02:48 <edmundnoble> Are there any semantic gotchas involved in using `par` with side effects?
13:03:17 kaletaa joins (~kaletaa@188.34.177.83)
13:03:36 × ddellac__ quits (~ddellacos@86.106.143.18) (Ping timeout: 268 seconds)
13:03:42 <edmundnoble> I have heard that `par` creates "sparks" which are essentially items to be put on a work queue and "sparked" (executed on a new Haskell thread) only when a processor is idle, whereas `forkIO` unconditionally forks a new Haskell thread
13:04:12 × kuribas quits (~user@ptr-25vy0i74839npjhgcue.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer)
13:04:18 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
13:05:09 <edmundnoble> In the case that my side effects do not interfere with each other, is there any way to use `par`'s sparks and scheduler to parallelize them?
13:05:19 × nineonine quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Ping timeout: 250 seconds)
13:05:46 kuribas joins (~user@ptr-25vy0i74839npjhgcue.18120a2.ip6.access.telenet.be)
13:05:55 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
13:07:11 × p8m_ quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 240 seconds)
13:08:11 <edmundnoble> I guess there is an obvious way using `unsafeInterleaveIO`, but is it going to do anything crazy like leave resources allocated by those sparks open if the sparks are GC'd
13:09:01 p8m joins (p8m@gateway/vpn/protonvpn/p8m)
13:09:17 <merijn> edmundnoble: Why do you not wanna create threads?
13:09:50 <merijn> Or: why do you imagine sparks would be better?
13:10:14 <edmundnoble> Sparks are executed only when a processor is idle, and scheduled by the GHC runtime
13:10:31 <edmundnoble> Writing or using another scheduler, and having the two interact, doesn't sound nearly as clean to me
13:11:06 <edmundnoble> All I am interested in is knowledge of the safety of using `par` with side effects
13:11:18 <merijn> why would you need to write another scheduler?
13:11:37 v01d4lph4 joins (~v01d4lph4@182.68.187.197)
13:11:38 <edmundnoble> Because I want my computations to be scheduled, rather than all run concurrently
13:11:57 × Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 260 seconds)
13:11:57 <edmundnoble> Similar to the thing async-pool does
13:11:59 <merijn> par assumes you don't do side-effects, so if you do, well, sucks to be you, then
13:12:15 <merijn> Pretty sure async-pool just uses forkIO
13:12:18 <edmundnoble> Okay, but what are the actual semantic issues
13:12:21 <edmundnoble> Yes, exactly
13:12:23 <edmundnoble> That is what I'm asking about
13:12:38 <edmundnoble> How can I do this in a way which is program-global, using the scheduler that sparks use
13:12:50 <edmundnoble> Rather than delimiting these work groups in which the concurrency is limited
13:12:51 <merijn> There's a whole lotta unstated context here
13:13:06 <edmundnoble> I would just like an answer to my question
13:13:32 <edmundnoble> What kind of craziness can I expect if I should spark a computation in IO?
13:14:00 <merijn> any arbitrary interleaving
13:15:11 <merijn> If you sneak IO into sparks, then you get the same craziness as sneaking IO into any context where things are expected to be pure. That is, arbitrary unpredictable interleaving and breaking purity
13:15:21 <edmundnoble> Arbitrary unpredictable interleaving makes sense to me
13:15:31 <edmundnoble> Breaking purity?
13:15:56 <edmundnoble> Let's say I have encapsulated this into a function `sched :: IO a -> IO (IO a)`
13:16:22 × v01d4lph4 quits (~v01d4lph4@182.68.187.197) (Ping timeout: 252 seconds)
13:16:27 <edmundnoble> The real scary shit I'm thinking of by analogy here is what happens when you `unsafePerformIO` inside of `STM`
13:16:40 <edmundnoble> Because no exception handlers are run
13:16:42 <merijn> I just don't see how "par" is remotely relevant when you already have IO anyway
13:17:08 <edmundnoble> I already told you, I want to use the spark scheduler. I don't want to limit concurrency by hand when there is a scheduler already there and capable of doing it for me
13:17:24 <merijn> edmundnoble: How is that different from threads?
13:18:05 <hyperisco> if I just want to parse cli options (not also have a dispatch framework) what can I use?
13:18:10 <tdammers> Possibly relevant and not entirely obvious: a Haskell thread is not an OS thread (a.k.a. "capability"); spawning a Haskell thread is MUCH cheaper than spawning an OS thread with, say pthread
13:18:15 <carbolymer> Can I trigger GC from outside of Haskell process?
13:18:29 <edmundnoble> Well I'm not entirely sure, but it seems to me that Haskell threads are switched between extremely often
13:18:35 <edmundnoble> So say I have `n` tasks of roughly the same shape
13:18:40 <edmundnoble> Regardless of how cheap Haskell threads are
13:18:45 valstan joins (56788fbb@86.120.143.187)
13:18:51 <edmundnoble> If I run `n` of them concurrently, I can expect a cost of `n` times as much memory usage
13:18:57 <merijn> edmundnoble: And what makes you think the same won't happen for sparks?
13:19:05 <edmundnoble> Because sparks are run on idle processors
13:19:09 <hyperisco> should be as simple as getting a [(Text,Text)] and a [Text]
13:19:11 <tdammers> Haskell threads are "green threads", they are distributed over a number of OS threads ("capabilities") as the RTS sees fit, though you have some influence on the heuristics
13:19:13 × __minoru__shirae quits (~shiraeesh@46.34.207.226) (Ping timeout: 260 seconds)
13:19:25 <hyperisco> which I can just do myself really
13:19:26 <merijn> edmundnoble: "idle processor" just means "capability not currently executing a Haskell thread"
13:19:40 <edmundnoble> Yes
13:19:43 <edmundnoble> That makes sense to me
13:19:55 <edmundnoble> The difference is
13:20:05 <merijn> edmundnoble: Nothing about sparks guarantees they evaluate to completion before being pre-empted, though
13:20:06 <edmundnoble> Once you've got each capability running a spark
13:20:09 jespada joins (~jespada@87.74.37.248)
13:20:22 <edmundnoble> Uh
13:20:29 <merijn> at least, nothing I'm aware off
13:20:31 <edmundnoble> Is that true? I have read that sparks are only run on idle processors...
13:20:38 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 260 seconds)
13:20:39 <merijn> edmundnoble: So?
13:20:43 <mniip> so do threads
13:20:47 <merijn> edmundnoble: How does that guarantee they won't be interrupted?
13:20:56 <edmundnoble> They won't be interrupted by other sparks
13:21:00 <edmundnoble> That's the only thing I'm asking for
13:21:07 <merijn> edmundnoble: Won't they be?
13:21:18 <edmundnoble> Again, sparks are only run on idle processors
13:21:24 <merijn> edmundnoble: So?
13:21:28 <edmundnoble> If a processor running a spark has been interrupted, it was given work
13:21:31 <edmundnoble> So it's not idle
13:21:35 <merijn> edmundnoble: That just means "we don't unschedule Haskell threads"
13:21:49 <merijn> edmundnoble: It doesn't say "and we will process a spark until completion without preemption"
13:22:04 <edmundnoble> If a spark has already been sparked, it's been converted to a Haskell thread
13:22:10 <edmundnoble> This conversion as far as I understand is one-way
13:22:19 <edmundnoble> If you have enough Haskell threads to saturate the available capabilities
13:22:32 <merijn> sparks are never haskell threads, sparks, as far as I recall, are a completely separate abstraction in the RTS
13:22:33 <edmundnoble> And the threads don't go idel
13:22:59 <mniip> I think you're asking for thread priorities?
13:23:13 <edmundnoble> Sparks are converted into threads
13:23:15 <edmundnoble> That's what "sparking" is
13:23:23 <merijn> mniip: It's unclear, because not enough unstated context
13:23:40 <int-e> edmundnoble: No. There are worker threads that grab items from a queue of sparks and execute them.
13:23:52 <merijn> edmundnoble: Where does it say that?
13:23:56 <int-e> So it's the same thread for many sparks.
13:23:58 <merijn> edmundnoble: I've never seen that in any paper
13:24:05 <edmundnoble> The user's guide for GHC
13:24:22 × ValeraRozuvan quits (~ValeraRoz@95.164.65.159) (Quit: ValeraRozuvan)
13:24:29 <edmundnoble> So wait, to be clear
13:24:39 <int-e> (and these threads are scheduled on capabilities that would otherwise be idle)
13:24:57 <edmundnoble> Right okay, so sparks are run on worker threads which are scheduled on capabilities that are otherwise idle
13:25:01 <merijn> edmundnoble: I don't see any reference to that in the user guide? Where did you see that?
13:25:23 <merijn> (the sparking converting to threads)
13:26:48 <merijn> I mean, sparks are just a work queue with dynamically spawned worker threads evaluating them, if you're in IO you might as well fork a number of worker threads and use a queue and get literally the same behaviour without needing to do a whole investigation whether its safe to do IO
13:26:53 <edmundnoble> int-e: I'm wondering if I can sanely use these worker threads and the queue for computations in IO
13:27:06 <merijn> edmundnoble: Not sanely, no
13:27:33 <merijn> "crazily" might be possible, given sufficient effort, but why bother
13:27:57 <int-e> hmm, I have seen the "conversion" terminology somewhere though
13:27:59 <edmundnoble> Essentially my question is whether I can get a program-wide way to limit concurrency which instead of interfering with the spark queue, cooperates with it
13:28:05 <int-e> (a spark is either converted or fizzles)
13:28:12 <yushyin> 'If the runtime detects that there is an idle CPU, then it may convert a spark into a real thread' https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/concurrent.html?#annotating-pure-code-for-parallelism
13:28:25 <int-e> it's just the notion that each spark becomes its own thread that does not correspond to reality
13:28:32 <merijn> edmundnoble: I mean, you can just spawn a limited number of workers using a single queue and then you're done?
13:28:35 <yushyin> don't know what a 'real thread' is in this context
13:28:44 <edmundnoble> A Haskell thread, I think, yushyin
13:29:10 <edmundnoble> Right, that would be the idea merijn, but I see no reason to have two schedulers in my program when one can do just as well
13:29:23 <merijn> Where does the 2nd scheduler come in?
13:29:26 <int-e> yushyin: I mean a separate forkIO/createThread() setup.
13:29:29 <merijn> Why do you need a 2nd scheduler?
13:29:34 __minoru__shirae joins (~shiraeesh@46.34.207.226)
13:29:39 <edmundnoble> Oh you know what scheduler is the wrong term
13:29:51 <merijn> Just spawn threads and put out work as needed?
13:29:52 <edmundnoble> Two work queues distributing work to Haskell threads
13:30:05 todda7 joins (~torstein@2a02:587:3724:1a75:aca:df22:9d82:969f)
13:30:07 <merijn> Why would there be two queues?
13:30:11 × valstan quits (56788fbb@86.120.143.187) (Quit: Connection closed)
13:30:22 <edmundnoble> There's one queue for sparks, and one queue for my workers
13:30:58 <merijn> the spark queue only exists if you have sparks, though
13:31:48 <edmundnoble> Okay, so why should there be two queues and two sets of worker threads if I have sparks and I have my own tasks?
13:32:13 <int-e> yushyin: of course that's an implementation detail; pure code is not allowed to care about threads
13:32:15 <merijn> because IO is not a spark task
13:32:36 <edmundnoble> And... why not
13:32:44 <edmundnoble> What kind of craziness could I expect?
13:32:45 <merijn> Because spark tasks *must* be pure
13:32:59 <edmundnoble> Really?
13:33:01 <merijn> Because they may or may not be evaluated in parallel (or at all!)
13:33:18 <merijn> If you have side-effects then it matters whether you get evaluated and in which order
13:33:28 <int-e> all this talk about sparks not being interrupted really just means that unsafePerformIO in sparks is about as safe as anywhere else outside of STM.
13:33:30 <edmundnoble> Okay, and what if I have side effects which don't need to be evaluated at all, or in parallel
13:33:32 <merijn> The entire reason sparks exists is to do evaluation of pure code in parallel
13:33:46 <merijn> int-e: That was my point, yes
13:34:03 <int-e> merijn: sorry, I didn't read much of context
13:34:12 <merijn> In essence this entire line of questions boils down to "is unsafePerformIO bad?"
13:34:15 <edmundnoble> Nah
13:34:19 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
13:34:23 <merijn> To which the answer is: Yes
13:34:34 <edmundnoble> It actually boils down to "what semantic insanity can I expect *specifically* from using unsafePerformIO in sparks"
13:34:41 <edmundnoble> This was, in fact, my initial question
13:34:52 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
13:35:04 <edmundnoble> Actually I'd be using `unsafeInterleaveIO`, but that's beside the point I think
13:35:10 <merijn> edmundnoble: 'everything you can expect in any other scenario, which is roughly "anything"'
13:35:24 <edmundnoble> I was indeed asking about the crazy stuff like STM retries not executing exception handlers
13:35:38 <edmundnoble> Yeah, I don't really buy that you can expect "anything" when using `unsafeInterleaveIO`
13:35:40 <Uniaika> hey edmundnoble :)
13:35:57 <edmundnoble> Hey Uniaika
13:36:26 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
13:36:55 × st8less quits (~st8less@2603:a060:11fd:0:ca9e:ebe6:5380:afd8) (Ping timeout: 260 seconds)
13:37:01 <carbolymer> I took a heap profile, and OTHER is 60% of the heap - any ideas what's that?
13:37:16 oish joins (~charlie@228.25.169.217.in-addr.arpa)
13:37:31 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
13:37:58 <edmundnoble> Anyway I guess that's my answer, which for the record is "none"
13:38:42 st8less joins (~st8less@inet-167-224-197-181.isp.ozarksgo.net)
13:39:39 frozenErebus joins (~frozenEre@37.231.244.249)
13:39:46 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
13:40:36 × undvrainbowvita8 quits (~egp_@128-71-13-3.broadband.corbina.ru) (Ping timeout: 268 seconds)
13:44:57 <hyperisco> I am using VSCode with the Haskell IDE and I am getting hlint warnings asking me to switch \x -> f (g (h x)) to f . g . h but I don't want to
13:45:03 <hyperisco> how can I disable these lint warnings?
13:45:39 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
13:45:50 <edmundnoble> hyperisco: https://stackoverflow.com/questions/34356510/how-to-disable-codelens-in-vs-code
13:46:01 <edmundnoble> IIRC you can only disable all of them or none, unfortunately
13:46:45 <hyperisco> I've never used a linter, never liked them, so fortunate enough ;)
13:46:54 <edmundnoble> https://www.irccloud.com/pastebin/IfGUU0mv/
13:47:06 <edmundnoble> -- Also for reference
13:47:06 <edmundnoble> evalSpark :: IO a -> IO (IO a)
13:47:06 <edmundnoble> evalSpark act = do
13:47:06 <edmundnoble> act' <- unsafeInterleaveIO act
13:47:06 <edmundnoble> par act' (pure $ evaluate act')
13:48:18 <fendor> hyperisco, since it is hlint, I *think* you can disable specific hlint rules
13:48:49 <int-e> edmundnoble: what's that supposed to achieve?
13:48:53 <hyperisco> I turned off codeLens but I am sstill getting hlint
13:49:10 <fendor> hyperisco, hlint is not a code-lint but diagnostic
13:49:20 <fendor> you can disable hlint altogether in the settings
13:49:25 <fendor> *codelens, iirc
13:49:45 <fendor> however, I think you can disable specific lints
13:50:15 <hyperisco> ah I found hlint diagnostics setting in the extension settings, disabled it
13:50:25 <int-e> edmundnoble: Oh, never mind, I see. Eww.
13:50:30 <edmundnoble> Executing `evalSpark act` creates a spark which when evaluated executes `act`, and returns an IO action. When that action has been executed, you know for sure `act` really has been evaluated.
13:50:39 <edmundnoble> Haha I was hoping it would be clear
13:50:59 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
13:51:30 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
13:51:42 <edmundnoble> `act` really has been executed*
13:51:54 × jgt_ quits (~jgt@37.157.184.76) (Ping timeout: 260 seconds)
13:52:05 <int-e> edmundnoble: anyway, I guess you're not incurring any problems on top of those that unsafeInterleaveIO has.
13:53:15 <int-e> which are basically the same as those of unsafePerformIO, minus concerns of accidental duplication through inlining.
13:54:18 <edmundnoble> I think you can also get accidental deduplication through CSE, same reason
13:54:26 <edmundnoble> Er same fix
13:54:38 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
13:56:09 <edmundnoble> But yeah this is definitely subject to the same things as unsafeInterleaveIO, and almost the same as you basically want anyway for things you can schedule onto workers
13:56:47 <edmundnoble> Arbitrary interleaving, with the added benefit that you can throw away your reference to the returned IO action and the spark will just disappear into the ether
13:57:27 CrazyPython joins (~crazypyth@98.122.164.118)
13:58:43 × drbean_ quits (~drbean@TC210-63-209-53.static.apol.com.tw) (Ping timeout: 252 seconds)
13:59:50 × sssb54 quits (~ssssb56@155.138.143.61) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
14:01:59 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 246 seconds)
14:02:10 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
14:05:49 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:06:47 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
14:06:53 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 246 seconds)
14:07:20 cheater joins (~user@unaffiliated/cheater)
14:08:19 × vchlup quits (~vchlup@nat.brnet.cz) (Read error: Connection reset by peer)
14:08:29 × oish quits (~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving)
14:08:38 Pickchea joins (~private@unaffiliated/pickchea)
14:08:50 vchlup joins (~vchlup@nat.brnet.cz)
14:09:49 wonko7 joins (~wonko7@62.115.229.50)
14:10:14 jao joins (~jao@pdpc/supporter/professional/jao)
14:11:10 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
14:12:37 jollygood2 joins (~bc8134e3@217.29.117.252)
14:14:21 <absence> are CmpNat and CmpSymbol in GHC.TypeLits magical? can't find something that looks like implementations
14:14:34 × bis0lini quits (~bis0lini@87.254.161.69) (Quit: Going offline, see ya! (www.adiirc.com))
14:15:19 nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
14:15:45 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
14:15:52 mooncat joins (~mooncat@87.254.161.69)
14:15:56 <jollygood2> hi. is there a way to abstract this code away, and avoid repeating every case for every type? https://paste.tomsmeding.com/SUJSUGZS
14:16:21 <jollygood2> missing {-# Language TypeApplications #-}
14:19:02 sssb54 joins (~ssssb56@155.138.143.61)
14:22:48 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
14:22:49 <jollygood2> calcWith @Int sum' n works too. maybe slightly nicer, but I still have the same amount of boilerplate. I'd basically need a String -> Type function, that can be used with @ or ::, and I don't think that is possible.. but who knows :)
14:24:35 × mooncat quits (~mooncat@87.254.161.69) (Quit: Going offline, see ya! (www.adiirc.com))
14:24:37 × xff0x quits (~xff0x@2001:1a81:5215:6f00:2c52:1286:1373:82fb) (Ping timeout: 250 seconds)
14:24:52 mooncat joins (~mooncat@87.254.161.69)
14:25:13 <edwardk> absence: yes
14:25:20 xff0x joins (~xff0x@2001:1a81:5215:6f00:4234:47e9:f91b:7534)
14:25:28 × mooncat quits (~mooncat@87.254.161.69) (Excess Flood)
14:25:45 mooncat joins (~mooncat@87.254.161.69)
14:26:05 × mooncat quits (~mooncat@87.254.161.69) (Client Quit)
14:27:29 Sgeo joins (~Sgeo@ool-18b9875e.dyn.optonline.net)
14:28:29 <absence> edwardk: thanks
14:29:15 <l-as> Does anyone know if there's a way of running multiple GHCi instances on the same GHC process, so that each new instance doesn't use ~100 MiB extra memory?
14:29:26 v01d4lph4 joins (~v01d4lph4@122.160.65.250)
14:29:35 × coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
14:30:39 × LKoen quits (~LKoen@140.170.9.109.rev.sfr.net) (Remote host closed the connection)
14:30:53 xkapastel joins (uid17782@gateway/web/irccloud.com/x-tchfsqhddnixslwt)
14:33:24 <geekosaur> not built in. it might be possible to implement using ghc-api, but I'd bet on most of that 100 MiB coming along with each instance
14:34:10 × v01d4lph4 quits (~v01d4lph4@122.160.65.250) (Ping timeout: 265 seconds)
14:36:47 <geekosaur> come to think of it, the runtime won't expect to be split over multiple instances so there will be interference from multiple terminals, interleaved gcs, etc.
14:38:30 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1)
14:38:39 × totte quits (~totte@chakra/totte) (Quit: ZNC - http://znc.in)
14:38:41 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
14:40:11 <Gurkenglas> Consider two bots playing Prisoner's Dilemma. A bot can pose questions to a provability oracle about what he and his opponent will end up doing, and is supposed to return what he does. What language and what libaries should I use to talk about all the possible bots and the graph of who would decide what against whom?
14:42:27 <Gurkenglas> (For example, Cooperatebot always cooperates, Fairbot cooperates iff he can prove that the opponent cooperates, and Prudentbot cooperates iff he can prove that both will do the same.)
14:42:36 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
14:43:08 <Gurkenglas> (And Paladinbot, which cooperates iff the opponent would cooperates against Cooperatebot, can't be implemented.)
14:44:18 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:44:21 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
14:45:31 <chisui> Gurkenglas are these bots different processes? If not you could implement them all in the same application. You wouldn't need any frameworks
14:46:23 <Gurkenglas> chisui, I expect that some language makes it easy to define and work with these.
14:46:43 <l-as> geekosaur: Thanks. I'll likely have to make something myself then.
14:46:51 <l-as> I'm trying to use GHCi as a shell, and it works mostly fine, except that part.
14:47:08 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
14:48:27 cdsmith joins (49cf15a2@c-73-207-21-162.hsd1.ga.comcast.net)
14:48:57 <chisui> Gurkenglas So you want to define a protocol that can be implemented by multiple clients? What are your requirements/constraints?
14:50:14 <Gurkenglas> chisui, I expect all the experiments to happen on a single machine. I don't plan for the bots to know anything about the hardware.
14:50:16 ecrance joins (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr)
14:50:45 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
14:52:08 ecrance parts (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr) ()
14:52:09 ecrance joins (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr)
14:52:47 × acidjnk_new2 quits (~acidjnk@p200300d0c72b9513a5163a3f5f418180.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
14:57:01 safinaskar joins (~user@109.252.90.136)
14:57:25 <safinaskar> why this two pages look different? http://hackage.haskell.org/package/ghc-prim-0.7.0/docs/GHC-CString.html http://hackage.haskell.org/package/kleene-0.1/docs/Kleene-ERE.html
14:57:36 philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
14:57:55 <safinaskar> the first has purple heading, the second has black one
14:58:05 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
14:58:14 <thblt> I've implemented a Writer as a small learning exercise, and I think the implementation for >>= could be nicer. It's here: https://paste.thb.lt/1620139243.hs.html Any ideas? Thanks.
15:00:31 LKoen joins (~LKoen@140.170.9.109.rev.sfr.net)
15:00:40 tlaxkit joins (~konversat@185.228.153.18)
15:00:45 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
15:00:46 <mniip> safinaskar, new haddock vs old haddock
15:01:03 <safinaskar> mniip: why not regenerate all docs?
15:01:05 nbloomf joins (~nbloomf@2600:1700:ad14:3020:85a:4fb7:871c:f700)
15:01:06 boxscape joins (54a350dc@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.80.220)
15:01:11 <merijn> safinaskar: Docs are generated at build time
15:01:22 <boxscape> % ((undefined :: b) :: forall a . a) :: forall b . b
15:01:23 <yahb> boxscape: ; <interactive>:31:3: error:; * Couldn't match expected type `a' with actual type `b1'; `a' is a rigid type variable bound by; an expression type signature:; forall a. a; at <interactive>:31:22-33; `b1' is a rigid type variable bound by; an expression type signature:; forall b1. b1; at <interactive>:31:39-50; * In the expression: ((undef
15:01:26 <merijn> safinaskar: Because building docs requires compiling and ancient packages may not compile anymore
15:01:28 <boxscape> seems kind of weird that this doesn't work
15:01:40 <safinaskar> merijn: mniip: ok, thanks
15:01:46 <boxscape> % ((undefined :: a) :: forall a . a) :: forall b . b
15:01:46 <yahb> boxscape: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:32:3 in interactive:Ghci16
15:01:52 <boxscape> whereas this does
15:02:10 <mniip> scopedTyVars?
15:02:13 <boxscape> yes
15:02:54 safinaskar parts (~user@109.252.90.136) ()
15:03:08 <mniip> % :set -XNoScopedTypeVariables
15:03:08 <yahb> mniip:
15:03:10 <mniip> % ((undefined :: b) :: forall a . a) :: forall b . b
15:03:10 <yahb> mniip: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:35:3 in interactive:Ghci17
15:03:15 × hypercube quits (~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 260 seconds)
15:04:52 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds)
15:06:12 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
15:07:26 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
15:08:10 ADG1089 joins (~aditya@122.163.161.198)
15:08:19 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
15:08:47 totte joins (~totte@chakra/totte)
15:11:01 DTZUZU joins (~DTZUZO@205.ip-149-56-132.net)
15:11:25 × nineonine quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Remote host closed the connection)
15:11:41 nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51)
15:13:30 danso joins (~dan@modemcable156.91-20-96.mc.videotron.ca)
15:13:31 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
15:13:37 v01d4lph4 joins (~v01d4lph4@122.160.65.250)
15:13:49 × v01d4lph4 quits (~v01d4lph4@122.160.65.250) (Remote host closed the connection)
15:15:45 × dan64- quits (~dan64@dannyadam.com) (Quit: ZNC - http://znc.in)
15:16:05 dan64 joins (~dan64@dannyadam.com)
15:16:15 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
15:16:50 toorevitimirp joins (~tooreviti@117.182.181.119)
15:17:53 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
15:18:40 × Pickchea quits (~private@unaffiliated/pickchea) (Ping timeout: 268 seconds)
15:18:59 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
15:20:01 stree joins (~stree@68.36.8.116)
15:21:04 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
15:24:14 coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl)
15:24:34 ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
15:25:26 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
15:27:08 frozenErebus joins (~frozenEre@37.231.244.249)
15:27:59 × ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
15:28:11 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
15:30:11 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 240 seconds)
15:30:44 antoniotrkdz joins (2d8b63d4@gateway/web/cgi-irc/kiwiirc.com/ip.45.139.99.212)
15:30:47 Sheilong joins (uid293653@gateway/web/irccloud.com/x-zadqqerhzuegxzed)
15:31:59 <antoniotrkdz> hi
15:35:26 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
15:36:02 <boxscape> hello
15:42:04 × nineonine quits (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) (Remote host closed the connection)
15:43:49 ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
15:44:21 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:44:46 <ADG1089> heya
15:44:59 × kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
15:44:59 × toorevitimirp quits (~tooreviti@117.182.181.119) (Quit: Konversation terminated!)
15:45:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:45:42 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 265 seconds)
15:46:45 toorevitimirp joins (~tooreviti@117.182.181.119)
15:47:48 × toorevitimirp quits (~tooreviti@117.182.181.119) (Client Quit)
15:49:49 frozenErebus joins (~frozenEre@37.231.244.249)
15:50:32 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
15:51:56 tomspencer joins (~tomspence@host109-148-131-65.range109-148.btcentralplus.com)
15:52:18 toorevitimirp joins (~tooreviti@117.182.181.119)
15:52:20 <tomspencer> hi! just started with haskell!
15:52:32 <boxscape> hi :)
15:53:04 <antoniotrkdz> does anybody know a way to make xmonad log applet clickable
15:53:06 <antoniotrkdz> ?
15:53:40 × ADG1089 quits (~aditya@122.163.161.198) (Remote host closed the connection)
15:53:56 × totte quits (~totte@chakra/totte) (Excess Flood)
15:54:12 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
15:54:31 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
15:54:38 <tomspencer> Hi antoniotrkdz! Try this one: https://www.youtube.com/watch?v=jCzuMHU3Qtw for xmonad!
15:54:39 totte joins (~totte@chakra/totte)
15:55:45 <antoniotrkdz> thanks tomspencer but I am not using xmobar, I am using the applet for the mate panel
15:55:45 × michalz quits (~user@185.246.204.110) (Read error: Connection reset by peer)
15:56:10 <tomspencer> Cool. Not sure then.
15:56:28 <tomspencer> Thanks Antoniotrkdz!
15:57:47 × toorevitimirp quits (~tooreviti@117.182.181.119) (Quit: Konversation terminated!)
15:59:18 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
15:59:27 × enoq quits (~textual@194-208-146-143.lampert.tv) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:59:45 × __minoru__shirae quits (~shiraeesh@46.34.207.226) (Remote host closed the connection)
15:59:54 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Quit: andreas303)
16:00:02 ddellac__ joins (~ddellacos@86.106.143.174)
16:00:27 __minoru__shirae joins (~shiraeesh@46.34.207.226)
16:00:39 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
16:03:19 × ecrance quits (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr) (Quit: Leaving.)
16:04:29 × ddellac__ quits (~ddellacos@86.106.143.174) (Ping timeout: 246 seconds)
16:04:37 Rudd0 joins (~Rudd0@185.189.115.103)
16:05:26 <davve_> hey haskell wizards, have a xmonad related question also. I found this function/managehook which sets the opacity of all created windows. it works great but in some cases I don't want transparency (for some floated applications) - could anyone help me out rewriting it to ignore (ideally a blacklist) of WM classes? http://vpaste.net/Uxa7W
16:05:42 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
16:06:52 totte_ joins (~totte@chakra/totte)
16:07:16 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
16:08:01 totte is now known as Guest48484
16:08:01 × Guest48484 quits (~totte@chakra/totte) (Killed (tepper.freenode.net (Nickname regained by services)))
16:08:02 totte_ is now known as totte
16:11:51 wonko7 joins (~wonko7@62.115.229.50)
16:12:00 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Remote host closed the connection)
16:12:09 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
16:12:26 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
16:14:10 <davve_> just a nudge in the right direction would be cool :) I assume id there is the WM class. so basically checking if that is different than some other class, then call setOpacity like its already doing
16:14:14 × Athas quits (athas@2a01:7c8:aaac:1cf:744:f358:5346:deb7) (Quit: ZNC - http://znc.sourceforge.net)
16:14:18 ADG1089 joins (~aditya@122.163.161.198)
16:14:24 Athas joins (athas@2a01:7c8:aaac:1cf:3a96:a4d3:a3c8:7a4c)
16:15:34 <davve_> or not included in a list of strings.. to do the blacklist
16:16:13 <absence> is xmonad an application written in haskell or something?
16:16:30 <geekosaur> yes,  see #xmonad
16:16:42 <davve_> aye
16:17:06 × ubert quits (~Thunderbi@188-23-70-233.adsl.highway.telekom.at) (Ping timeout: 240 seconds)
16:18:23 <geekosaur> it'd be easier to do this from the manageHook because that's where you have e.g. className
16:20:15 × thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202)
16:21:06 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 240 seconds)
16:22:36 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
16:23:59 viluon joins (uid453725@gateway/web/irccloud.com/x-hrzpydgljnsqxyfi)
16:24:57 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:25:01 ecrance joins (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr)
16:26:11 ubert joins (~Thunderbi@188-23-70-233.adsl.highway.telekom.at)
16:27:40 howdoi joins (uid224@gateway/web/irccloud.com/x-gaopgaecslifeogu)
16:27:58 thc202 joins (~thc202@unaffiliated/thc202)
16:28:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:30:51 ecrance parts (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr) ()
16:31:12 ecrance joins (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr)
16:32:12 nineonine joins (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f)
16:32:13 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
16:32:36 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:33:22 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
16:35:06 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 240 seconds)
16:35:23 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
16:35:32 × ubert quits (~Thunderbi@188-23-70-233.adsl.highway.telekom.at) (Ping timeout: 260 seconds)
16:36:01 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
16:36:03 × philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:38:32 × boxscape quits (54a350dc@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.80.220) (Ping timeout: 240 seconds)
16:39:27 ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
16:40:26 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
16:41:17 <DigitalKiwi> absence: yeah see it turns out there have only ever been 3 haskell applications written; ghc, pandoc, and xmonad
16:44:12 <davve_> geekosaur: i see
16:45:55 × todda7 quits (~torstein@2a02:587:3724:1a75:aca:df22:9d82:969f) (Ping timeout: 260 seconds)
16:48:15 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:48:24 <geekosaur> hledger and git-annex also come to mind
16:48:26 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:48:45 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:49:39 wonko7 joins (~wonko7@62.115.229.50)
16:50:15 nut joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
16:50:22 <DigitalKiwi> geekosaur: but that ruins the joke :(
16:51:30 kritzefitz joins (~kritzefit@212.86.56.80)
16:52:45 × mrchampion quits (~mrchampio@38.18.109.23) (Read error: Connection reset by peer)
16:54:43 × nut quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
16:56:15 hexfive joins (~hexfive@50.35.83.177)
16:57:10 mrchampion joins (~mrchampio@38.18.109.23)
16:57:52 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 240 seconds)
16:59:51 <thblt> DigitalKiwi: In all fairness xmonad and pandoc had *already* ruined the joke.
17:00:08 × tomspencer quits (~tomspence@host109-148-131-65.range109-148.btcentralplus.com) (Ping timeout: 246 seconds)
17:00:17 proofofkeags joins (~proofofke@205.209.28.54)
17:00:28 <davve_> was it a joke or a silent plead for more software written in haskell?
17:00:53 <thblt> Apparently there are five already, isn't that enough?
17:01:03 tomspencer joins (~tomspence@host109-148-131-65.range109-148.btcentralplus.com)
17:01:10 <tomspencer> 
17:01:11 <davve_> quality over quantity, I guess
17:01:12 <tomspencer> 
17:01:24 × tomspencer quits (~tomspence@host109-148-131-65.range109-148.btcentralplus.com) (Client Quit)
17:02:08 × DavidEichmann quits (~david@156.59.147.147.dyn.plus.net) (Remote host closed the connection)
17:02:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
17:02:25 <DigitalKiwi> there's glirc and hakyll too
17:04:49 × ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
17:06:31 <maerwald> I feel we need to write a haskell version of https://github.com/buttplugio/buttplug-rs
17:06:54 × tomku quits (~tomku@unaffiliated/tomku) (Ping timeout: 265 seconds)
17:07:02 tomku joins (~tomku@unaffiliated/tomku)
17:08:29 <xerox_> when you have an explicit export list how do you enter a repl that gives you access to all the stuff that isn't in the export list? I'm using cabal repl, I thought :module Foo would do it but no joy
17:10:06 juuandyy joins (~juuandyy@90.106.228.121)
17:11:19 <geekosaur> you need a * prefixed to get it to recompile from source, an object file literally does not have the names available
17:11:30 <geekosaur> :m *Foo
17:12:22 <geekosaur> but cabal repl may not be able to do that properly, it behaves oddly when multiple modules are involved
17:13:25 × ggVGc quits (~ggVGc@2400:8901::f03c:91ff:fef2:bed8) (Remote host closed the connection)
17:13:46 <monochrom> :load or :add
17:13:55 <xerox_> beautiful! I noticed * in :help but no idea what it meant, thank you
17:14:22 epicte7us joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
17:14:31 <xerox_> ah I guess you could deduce it from the :browse entry that expands on it a lil bit
17:14:36 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
17:14:37 <geekosaur> also what monochrom said
17:15:11 <xerox_> ok :^)
17:15:54 ddellacosta joins (~ddellacos@86.106.143.239)
17:16:07 <monochrom> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#ghci-scope
17:16:07 × tlaxkit quits (~konversat@185.228.153.18) (Quit: Konversation terminated!)
17:16:46 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 240 seconds)
17:17:12 × ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 240 seconds)
17:19:29 moet joins (~moet@172.58.35.68)
17:20:26 × ddellacosta quits (~ddellacos@86.106.143.239) (Ping timeout: 246 seconds)
17:22:17 <moet> anybody know how to use a servant `StreamBody ... :> StreamPost ...` endpoint from a servant generated client? you end up in a situation like this `downStream <- rpc upStream` which blocks until `rpc` disconnects.. you can't ever process downStream
17:23:54 × meck quits (~meck@li1809-18.members.linode.com) (Quit: ZNC 1.8.2 - https://znc.in)
17:24:34 × thunderrd quits (~thunderrd@183.182.110.252) (Ping timeout: 268 seconds)
17:24:47 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 265 seconds)
17:25:07 ggVGc joins (~ggVGc@a.lowtech.earth)
17:25:11 <moet> the cookbook shows an example of a handler for such a bidirectional streaming endpoint, but it doesn't show how to call it from a client: https://docs.servant.dev/en/stable/cookbook/basic-streaming/Streaming.html
17:25:43 × aVikingTrex quits (2be74510@43.231.69.16) (Ping timeout: 240 seconds)
17:26:15 ADG1089__ joins (~aditya@171.76.152.88)
17:26:41 hypercube joins (~hypercube@75.186.121.128)
17:27:12 × puffnfresh quits (~puffnfres@45.76.124.5) (Ping timeout: 265 seconds)
17:27:43 × BIG_JIMMY_D quits (~jim@108.61.185.76) (Ping timeout: 252 seconds)
17:27:44 rj joins (~x@gateway/tor-sasl/rj)
17:27:52 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
17:28:06 meck joins (~meck@li1809-18.members.linode.com)
17:28:10 × ADG1089 quits (~aditya@122.163.161.198) (Ping timeout: 265 seconds)
17:29:20 hyiltiz joins (~quassel@31.220.5.250)
17:29:20 × hyiltiz quits (~quassel@31.220.5.250) (Changing host)
17:29:20 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
17:29:43 × ericsagnes quits (~ericsagne@2405:6580:0:5100:a104:d14:93ae:b6b0) (Ping timeout: 276 seconds)
17:31:19 <moet> ok, studying the cookbook example a bit more it seems i might be uing `withClientM` incorrectly.. i was trying to do all the processing in the first argument (the client action) rather than the final argument (the inside of the `with` context)
17:31:34 ecrance parts (~Adium@2a01cb058dba1100b064de7ae4382049.ipv6.abo.wanadoo.fr) ()
17:32:02 × RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 265 seconds)
17:32:59 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
17:33:02 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds)
17:33:33 cfricke joins (~cfricke@unaffiliated/cfricke)
17:35:20 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
17:35:45 <moet> that doesn't seem to fix it either.. same behavior; the final argument just isn't called until the rpc disconnects
17:37:47 × zmagii quits (~zmagii@unaffiliated/zmagii) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
17:37:52 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
17:38:30 thunderrd joins (~thunderrd@183.182.114.223)
17:39:00 puffnfresh joins (~puffnfres@45.76.124.5)
17:39:01 cub3s_ joins (bifunc2@gateway/vpn/protonvpn/bifunc2)
17:39:41 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
17:40:04 RusAlex joins (~Chel@unaffiliated/rusalex)
17:40:13 × alx741 quits (~alx741@186.178.109.58) (Quit: alx741)
17:40:25 <cub3s_> It seems to me that a lot of Haskellers flocked to Stack or Nix before Nix-style builds (v2) existed in Cabal.
17:40:26 <cub3s_> But now that v2 builds exist in Cabal, it seems to me that there is absolutely no need anymore for Stack or Nix for 90% of Haskellers.
17:40:26 <cub3s_> Change my mind.
17:41:34 stree joins (~stree@68.36.8.116)
17:41:52 ericsagnes joins (~ericsagne@2405:6580:0:5100:1f8e:c408:8077:5927)
17:42:35 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
17:43:35 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
17:43:47 <sm[m]> cub3s_: stack still has benefits for some - better usability, reproducability as default, less legacy confusion, stackage integration, certain features that work smoother
17:43:54 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
17:43:57 × coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
17:44:24 BIG_JIMMY_D joins (~jim@108.61.185.76)
17:44:34 <sm[m]> likewise nix - whole-system/multi-language package management, not just haskell
17:45:06 <monochrom> Don't answer to provocative tactics such as "prove me wrong" or "change my mind" or "haskell can't convert a number to a string".
17:45:58 <sm[m]> why not, I just logged on and I'm fresh! :)
17:46:33 <sm[m]> plus, very few folks here speak of stack's strengths, it's my duty
17:46:51 <cub3s_> all i meant is, i've been using stack (a little nix) until now. just wanted someone to convince me to keep using those since i just found out about v2 today
17:47:39 Erix joins (~erix@77.28.20.112)
17:48:03 <sm[m]> stack also was and maybe still is a bit more maintained / easier to contribute to
17:48:21 × Erix quits (~erix@77.28.20.112) (Client Quit)
17:48:43 <sm[m]> don't feel bad for using it, by all means learn both, they each are better in certain situations
17:48:56 <monochrom> Logically, unless stack is being obsoleted, there is no to leave what you have invested in. I would think that's reason enough.
17:49:01 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
17:49:50 <monochrom> If not, you have much deeper psychological issues. Talk to a counselor.
17:50:15 <monochrom> s/no to/no need to/
17:50:21 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
17:51:28 alx741 joins (~alx741@186.178.109.58)
17:53:23 <edmundnoble> If you don't really care about stackage, and you use stack, you still pay for stackage
17:53:36 <sclv> nix shines when its not just haskell but part of a full application/appliance for production imho
17:55:30 rj joins (~x@gateway/tor-sasl/rj)
17:56:00 <sm[m]> edmundnoble: yes, stack is not as good at finding free-form custom install plans. I wish it had not dropped that bit of cabal that used to be integrated
17:56:02 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
17:56:05 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds)
17:56:06 ddellacosta joins (~ddellacos@86.106.143.135)
17:56:25 <sm[m]> one of these days we'll have a tool that does it all
17:56:36 <cub3s_> soon(tm)
17:56:49 <edmundnoble> cabal can be used with stackage
17:56:52 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
17:58:41 × ReinH quits (sid179972@gateway/web/irccloud.com/x-fuvvxehhumskktue) (Ping timeout: 245 seconds)
17:59:18 × ryjm quits (sid383513@gateway/web/irccloud.com/x-mfvpahefkuhsmhxj) (Ping timeout: 258 seconds)
17:59:26 × wpcarro_ quits (sid397589@gateway/web/irccloud.com/x-oqezoawcccpelrna) (Read error: Connection reset by peer)
17:59:37 × benjamingr__ quits (uid23465@gateway/web/irccloud.com/x-ynbdnkhkjbtgwgql) (Ping timeout: 276 seconds)
17:59:39 × b20n quits (sid115913@gateway/web/irccloud.com/x-udwflvyexwjwmsyu) (Ping timeout: 260 seconds)
17:59:53 × benwr____ quits (sid372383@gateway/web/irccloud.com/x-xfdqoomnehumnzni) (Read error: Connection reset by peer)
18:00:07 × bradparker quits (sid262931@gateway/web/irccloud.com/x-pnnpnsamzcgcvhic) (Ping timeout: 260 seconds)
18:00:12 × SrPx quits (sid108780@gateway/web/irccloud.com/x-rwifggglogkkmwmr) (Ping timeout: 240 seconds)
18:00:20 × ddellacosta quits (~ddellacos@86.106.143.135) (Ping timeout: 246 seconds)
18:00:25 × d0liver quits (sid363046@gateway/web/irccloud.com/x-ymmzryfvswoxfpty) (Ping timeout: 250 seconds)
18:00:51 × jared-w quits (uid405292@gateway/web/irccloud.com/x-nohdotnpqgmaljhg) (Ping timeout: 248 seconds)
18:00:52 × davetapley quits (sid666@gateway/web/irccloud.com/x-tjtmijegqbuqabqg) (Ping timeout: 240 seconds)
18:00:55 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-nqhwubaiasxmaztx) (Ping timeout: 276 seconds)
18:01:13 × etrepum quits (sid763@gateway/web/irccloud.com/x-kbeiueugazaifuth) (Ping timeout: 258 seconds)
18:01:21 × AndreasK quits (sid320732@gateway/web/irccloud.com/x-zihhiadtvsrfgmeq) (Ping timeout: 246 seconds)
18:01:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
18:01:56 ryjm joins (sid383513@gateway/web/irccloud.com/x-hegmsdgmbwucdfbi)
18:01:57 b20n joins (sid115913@gateway/web/irccloud.com/x-voljinonzzxjsgcs)
18:01:59 Synthetica joins (uid199651@gateway/web/irccloud.com/x-nkfpmozoufuddpsw)
18:01:59 davetapley joins (sid666@gateway/web/irccloud.com/x-tsehabjkagfdhwvp)
18:02:01 d0liver joins (sid363046@gateway/web/irccloud.com/x-bukxdaptkmbbznsf)
18:02:03 ReinH joins (sid179972@gateway/web/irccloud.com/x-weykmvlhvncihcpb)
18:02:03 benwr____ joins (sid372383@gateway/web/irccloud.com/x-zfunchuzuyhbaxeg)
18:02:06 AndreasK joins (sid320732@gateway/web/irccloud.com/x-iggblugzoaqzicre)
18:02:07 etrepum joins (sid763@gateway/web/irccloud.com/x-aalnwuokuejcgajp)
18:02:07 benjamingr__ joins (uid23465@gateway/web/irccloud.com/x-vybrriwslamksbzv)
18:02:12 wpcarro_ joins (sid397589@gateway/web/irccloud.com/x-qkpxlbpzblovcmru)
18:02:44 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
18:02:45 bradparker joins (sid262931@gateway/web/irccloud.com/x-utinnhqtffxropyw)
18:02:51 SrPx joins (sid108780@gateway/web/irccloud.com/x-dyzsiaerqkznllig)
18:02:56 jared-w joins (uid405292@gateway/web/irccloud.com/x-eipenrywlrydjypz)
18:06:07 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
18:07:30 rond_ joins (5940206b@89-64-32-107.dynamic.chello.pl)
18:09:08 wonko7 joins (~wonko7@62.115.229.50)
18:15:14 deviantfero joins (~deviantfe@190.150.27.58)
18:16:35 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:16:47 <moet> here's my minimal repro: https://termbin.com/h71l
18:17:02 × rond_ quits (5940206b@89-64-32-107.dynamic.chello.pl) (Quit: Connection closed)
18:17:15 <moet> it's 99 lines and attempts to implement a little "netcat over http" using a single servant endpoint
18:17:39 <moet> the "up stream" works fine..
18:17:58 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
18:18:00 <moet> the "down stream" reference is never obtained by the client, and therefore never starts processing on the client side, though the server side appears to be working fine
18:18:26 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:c815:f081:13d7:6b7d)
18:20:04 <moet> the server side might also leak a thread, but i'm not really concerned with that right now if i can't get bidirectional streaming to work anyway
18:20:12 × nrdmn98 quits (~nrdmn@aufmachen.jetzt) (Ping timeout: 240 seconds)
18:22:39 × ADG1089__ quits (~aditya@171.76.152.88) (Remote host closed the connection)
18:22:41 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
18:27:19 bitmagie joins (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de)
18:29:51 poljar1 joins (~poljar@93-143-154-6.adsl.net.t-com.hr)
18:30:34 vicfred joins (~vicfred@unaffiliated/vicfred)
18:30:52 × bitmagie quits (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de) (Client Quit)
18:31:12 bitmagie joins (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de)
18:31:29 × poljar quits (~poljar@93-139-112-157.adsl.net.t-com.hr) (Ping timeout: 246 seconds)
18:31:31 × bitmagie quits (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de) (Client Quit)
18:32:02 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:32:26 coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl)
18:32:36 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
18:32:53 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Client Quit)
18:33:08 <monochrom> I don't know servant, but I just feel that traditionally the phrase "remote procedure call" doubles down on the aspect of "procedure call" in being highly batch mode and "you won't hear from me until I terminate", totally anti-interactive.
18:33:32 Arthur__ joins (~arthur@177.138.134.80)
18:33:42 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
18:34:21 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
18:34:42 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
18:34:52 gurmble joins (~Thunderbi@freenode/staff/grumble)
18:35:05 grumble is now known as Guest31287
18:35:05 × Guest31287 quits (~Thunderbi@freenode/staff/grumble) (Killed (card.freenode.net (Nickname regained by services)))
18:35:06 gurmble is now known as grumble
18:35:08 <fresheyeball> Anyone know how to use profiling with GHCjs?
18:35:27 <fresheyeball> luite: can you help out?
18:36:19 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1)
18:36:22 × coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Client Quit)
18:37:04 × xelxebar_ quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
18:37:23 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
18:37:29 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:85a:4fb7:871c:f700) (Ping timeout: 245 seconds)
18:37:45 rj joins (~x@gateway/tor-sasl/rj)
18:38:08 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
18:38:51 nbloomf joins (~nbloomf@76.217.43.73)
18:39:13 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:40:14 bitmagie joins (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de)
18:42:08 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Remote host closed the connection)
18:42:58 nicholasbulka joins (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389)
18:44:32 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
18:45:54 × nbloomf quits (~nbloomf@76.217.43.73) (Ping timeout: 260 seconds)
18:46:47 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 250 seconds)
18:47:29 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Ping timeout: 245 seconds)
18:48:39 jneira joins (4f9b01f9@gateway/web/cgi-irc/kiwiirc.com/ip.79.155.1.249)
18:49:11 nbloomf joins (~nbloomf@76.217.43.73)
18:51:21 × bitmagie quits (~Thunderbi@200116b8061c5600286b98b995fbce0a.dip.versatel-1u1.de) (Quit: bitmagie)
18:51:44 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
18:51:56 <moet> monochrom: well, rpc is my word to describe what's going on
18:52:05 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:52:08 <moet> monochrom: servant just calls them client functions
18:52:29 × seliopou quits (seliopou@entropy.tmok.com) (Ping timeout: 246 seconds)
18:52:43 <moet> and servant supports both streaming bodies and streaming responses ... which i've used separately with success in the past
18:52:51 <moet> just curious about how to use them together
18:55:26 seliopou joins (seliopou@entropy.tmok.com)
18:55:33 × mikoto-chan quits (~mikoto-ch@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
18:56:06 × nineonine quits (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f) (Remote host closed the connection)
18:56:24 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
18:56:25 × rajivr quits (uid269651@gateway/web/irccloud.com/x-ccbitpzrbtqmayhw) (Quit: Connection closed for inactivity)
18:56:32 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
18:56:47 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
18:57:52 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
18:58:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:59:55 × nbloomf quits (~nbloomf@76.217.43.73) (Ping timeout: 252 seconds)
19:01:19 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
19:02:21 asdf1234fs joins (~kyle@108.161.22.155)
19:02:52 × supercoven_ quits (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 240 seconds)
19:03:07 × seliopou quits (seliopou@entropy.tmok.com) (Ping timeout: 268 seconds)
19:03:25 × CrazyPython quits (~crazypyth@98.122.164.118) (Read error: Connection reset by peer)
19:04:37 nbloomf joins (~nbloomf@2600:1700:ad14:3020:3dfd:792e:2e5c:4650)
19:05:01 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
19:05:44 asdf1234fs parts (~kyle@108.161.22.155) ()
19:07:31 seliopou joins (seliopou@entropy.tmok.com)
19:09:28 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
19:13:34 × fendor quits (~fendor@178.115.128.74.wireless.dyn.drei.com) (Remote host closed the connection)
19:14:49 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 260 seconds)
19:15:56 waleee-cl joins (uid373333@gateway/web/irccloud.com/x-rhabdusdgycjevhi)
19:16:14 fendor joins (~fendor@178.115.128.74.wireless.dyn.drei.com)
19:16:15 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds)
19:16:19 deviantfero joins (~deviantfe@190.150.27.58)
19:16:56 fendor_ joins (~fendor@178.115.128.74.wireless.dyn.drei.com)
19:17:33 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
19:18:57 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
19:22:40 rj joins (~x@gateway/tor-sasl/rj)
19:23:31 × kuribas quits (~user@ptr-25vy0i74839npjhgcue.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
19:24:35 Pickchea joins (~private@unaffiliated/pickchea)
19:26:41 coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl)
19:26:59 philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
19:27:23 ValeraRozuvan joins (~ValeraRoz@95.164.65.159)
19:27:30 × ValeraRozuvan quits (~ValeraRoz@95.164.65.159) (Remote host closed the connection)
19:27:48 frozenErebus joins (~frozenEre@37.231.244.249)
19:29:37 nineonine joins (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f)
19:30:03 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
19:31:24 zebrag joins (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr)
19:32:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
19:33:28 × letmein quits (~ircclient@2601:1c1:4200:938f:cd8d:4e48:d5b9:4929) (Quit: letmein)
19:33:37 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Client Quit)
19:33:45 × nineonine quits (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f) (Ping timeout: 246 seconds)
19:35:48 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
19:35:56 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
19:36:57 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
19:37:28 ddellac__ joins (~ddellacos@86.106.143.57)
19:39:44 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:41:58 × juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!)
19:42:36 × ddellac__ quits (~ddellacos@86.106.143.57) (Ping timeout: 268 seconds)
19:44:40 TommyC joins (~TommyC@unaffiliated/sepulchralbloom)
19:45:03 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
19:46:45 minoru_shiraeesh joins (~shiraeesh@77.94.25.20)
19:47:58 × __minoru__shirae quits (~shiraeesh@46.34.207.226) (Ping timeout: 252 seconds)
19:49:01 nicholasbulka joins (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389)
19:49:37 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
19:49:57 frozenErebus joins (~frozenEre@37.231.244.249)
19:50:46 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 276 seconds)
19:55:03 × zebrag quits (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
19:55:23 zebrag joins (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr)
19:56:03 safinaskar joins (~user@109.252.90.136)
19:56:19 <safinaskar> i have tests in my program for doctest/quickcheck
19:56:28 <safinaskar> similar to this:
19:56:38 <safinaskar> -- prop> 2 + a = a + 2
19:56:44 <safinaskar> -- prop> 2 + a == a + 2
19:57:12 <safinaskar> i run "doctest a.hs" and it works. how to erlarge number of quickcheck passes?
19:58:34 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
19:58:34 DavidEichmann joins (~david@156.59.147.147.dyn.plus.net)
19:58:39 jijimofo joins (~cmo@S010610561191f5d6.lb.shawcable.net)
19:58:44 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
19:59:03 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
20:01:12 × jijimofo quits (~cmo@S010610561191f5d6.lb.shawcable.net) (Client Quit)
20:02:19 stree joins (~stree@68.36.8.116)
20:02:21 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
20:02:34 nineonine joins (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f)
20:02:50 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 265 seconds)
20:04:52 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 240 seconds)
20:06:57 × nineonine quits (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f) (Ping timeout: 250 seconds)
20:07:26 petersen joins (~petersen@redhat/juhp)
20:07:41 rj joins (~x@gateway/tor-sasl/rj)
20:10:14 × thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202)
20:11:29 <davve_> &40
20:15:53 × hiptobecubic quits (~john@unaffiliated/hiptobecubic) (Ping timeout: 265 seconds)
20:15:55 frozenErebus joins (~frozenEre@37.231.244.249)
20:17:21 motersen joins (~motersen@gateway/tor-sasl/motersen)
20:17:34 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
20:18:02 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
20:18:10 × cub3s_ quits (bifunc2@gateway/vpn/protonvpn/bifunc2) (Quit: Leaving)
20:18:14 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
20:18:27 × OldMiner quits (~OldMiner@185.169.233.12) (Remote host closed the connection)
20:20:32 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
20:21:05 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
20:22:26 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
20:22:44 zpao joins (~zpao@185.163.110.100)
20:23:43 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:25:02 × chisui quits (588239b3@mue-88-130-57-179.dsl.tropolys.de) (Quit: Connection closed)
20:25:53 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
20:27:35 nineonine joins (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f)
20:27:37 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:30:32 Arthur__ parts (~arthur@177.138.134.80) ()
20:31:25 safinaskar parts (~user@109.252.90.136) ()
20:34:09 jgt_ joins (~jgt@87.227.221.129)
20:36:45 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:93ad:6112:53d2:cb65) (Ping timeout: 246 seconds)
20:36:58 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
20:38:29 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
20:39:43 acidjnk_new2 joins (~acidjnk@p200300d0c72b9574a5163a3f5f418180.dip0.t-ipconnect.de)
20:41:01 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:41:01 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
20:41:39 × coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
20:41:57 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
20:42:16 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:42:38 hiptobecubic joins (~john@unaffiliated/hiptobecubic)
20:44:11 safinaskar joins (~user@109.252.90.136)
20:44:18 <safinaskar> % length []
20:44:18 <yahb> safinaskar: 0
20:44:35 <safinaskar> why this works? ghc doesn't know monomorphic type of "[]" here
20:44:58 <geekosaur> :t length
20:45:00 <lambdabot> Foldable t => t a -> Int
20:45:33 <geekosaur> the type signature says it works for any a, so it can't look at the contents, only the list itself
20:45:34 chisui joins (588239b3@mue-88-130-57-179.dsl.tropolys.de)
20:45:54 <Uniaika> safinaskar: it's not monomorphic, Foldable takes the helm
20:46:24 <Uniaika> and you've given it something like [] @a so it's polymorphic in the inner element
20:46:31 <geekosaur> and when it goes to pick a type for it, it picks [] for t and () for a because of ExtendedDefaultRules
20:46:45 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
20:46:46 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 240 seconds)
20:47:42 <geekosaur> in a program it usually has more to infer on, but will complain with default defaulting
20:47:58 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Read error: Connection reset by peer)
20:48:00 <safinaskar> "default defaulting"...
20:48:06 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 260 seconds)
20:48:33 <geekosaur> I think even the Report uses that terminology
20:48:41 gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
20:48:57 <Uniaika> :')
20:49:13 hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:7c7a:6e3f:2800:2d5e)
20:49:41 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
20:50:44 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
20:51:15 dinciorip joins (~dincio@5.170.45.67)
20:51:49 rj joins (~x@gateway/tor-sasl/rj)
20:52:31 <safinaskar> ok, thanks
20:52:32 safinaskar parts (~user@109.252.90.136) ()
20:54:17 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
20:54:26 ep1ctetus_ joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
20:54:48 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
20:55:02 × zebrag quits (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
20:55:22 zebrag joins (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr)
20:57:29 × epicte7us quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 260 seconds)
20:57:35 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
20:59:56 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:00:01 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
21:00:15 × Guest37426 quits (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d) (Ping timeout: 260 seconds)
21:00:17 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Quit: Curry, you fools!)
21:00:51 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:01:49 ValeraRozuvan joins (~ValeraRoz@95.164.65.159)
21:02:22 × ValeraRozuvan quits (~ValeraRoz@95.164.65.159) (Remote host closed the connection)
21:04:59 × HannaM quits (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: HannaM)
21:05:11 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
21:05:40 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Remote host closed the connection)
21:07:54 nicholasbulka joins (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389)
21:10:04 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
21:11:05 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:c815:f081:13d7:6b7d) (Quit: Leaving)
21:12:04 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:4851:1ff9:a46:9389) (Ping timeout: 245 seconds)
21:13:21 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
21:14:04 mikoto-chan joins (~mikoto-ch@gateway/tor-sasl/mikoto-chan)
21:15:57 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-nkfpmozoufuddpsw) (Quit: Connection closed for inactivity)
21:17:33 ValeraRozuvan joins (~ValeraRoz@95.164.65.159)
21:19:20 × cdsmith quits (49cf15a2@c-73-207-21-162.hsd1.ga.comcast.net) (Quit: Connection closed)
21:20:49 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
21:20:51 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
21:21:56 × ValeraRozuvan quits (~ValeraRoz@95.164.65.159) (Client Quit)
21:22:31 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Client Quit)
21:22:59 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
21:23:33 × jgt_ quits (~jgt@87.227.221.129) (Ping timeout: 265 seconds)
21:23:33 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
21:24:38 safinaskar joins (~user@109.252.90.136)
21:24:57 × knupfer quits (~Thunderbi@200116b82b19e500902b8df26cfd07b7.dip.versatel-1u1.de) (Ping timeout: 250 seconds)
21:25:11 <safinaskar> i just have read that "read world haskell" has some outdated info on exceptions. is it true?
21:28:11 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
21:29:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:29:33 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
21:30:47 × fendor quits (~fendor@178.115.128.74.wireless.dyn.drei.com) (Quit: Leaving)
21:30:51 fendor_ is now known as fendor
21:31:50 undvrainbowvita8 joins (~egp_@128-71-13-3.broadband.corbina.ru)
21:32:44 × fendor quits (~fendor@178.115.128.74.wireless.dyn.drei.com) (Quit: Leaving)
21:32:46 <geekosaur> yes
21:32:51 mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au)
21:32:51 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
21:33:00 rj joins (~x@gateway/tor-sasl/rj)
21:33:06 <geekosaur> the extensible exceptions mechanism was introduced right after it was printed
21:33:20 <geekosaur> there's an updated version of RWH somewhere
21:34:07 cdsmith joins (49cf15a2@c-73-207-21-162.hsd1.ga.comcast.net)
21:34:08 Wamanuz joins (~wamanuz@78-70-34-81-no84.tbcn.telia.com)
21:34:11 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
21:34:50 <geekosaur> https://github.com/tssm/up-to-date-real-world-haskell I think?
21:35:59 nicholas_ joins (~nicholasb@2601:900:4301:da0:c487:22d4:1b86:5f1)
21:36:47 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
21:38:31 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
21:38:33 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Read error: Connection reset by peer)
21:38:36 × aidecoe quits (~aidecoe@unaffiliated/aidecoe) (Remote host closed the connection)
21:38:49 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
21:39:04 × mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Read error: No route to host)
21:39:15 mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au)
21:39:19 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 276 seconds)
21:40:53 × mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Client Quit)
21:41:16 × nicholas_ quits (~nicholasb@2601:900:4301:da0:c487:22d4:1b86:5f1) (Ping timeout: 276 seconds)
21:41:51 mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au)
21:42:32 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
21:42:55 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
21:43:03 <safinaskar> geekosaur: thanks
21:44:07 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-255-063.002.203.pools.vodafone-ip.de) (Remote host closed the connection)
21:47:08 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 246 seconds)
21:51:20 nrdmn98 joins (~nrdmn@aufmachen.jetzt)
21:52:59 <Arahael> I think "real world haskell" should have a bigger focus on FFI these days.
21:53:37 <Arahael> Especially with inline-cc, inline-rust, or whatever, haskell does a crazy good job at that.
21:53:47 Arahael hasn't tried them, done them with rust instead.
21:53:57 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:55:03 × zebrag quits (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
21:55:19 usr25 joins (~usr25@unaffiliated/usr25)
21:55:23 zebrag joins (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr)
21:55:40 JustinCase joins (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47)
21:59:31 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
21:59:33 × mikoto-chan quits (~mikoto-ch@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
22:00:53 ddellac__ joins (~ddellacos@86.106.143.100)
22:01:38 <dmj`> haskell ffi is fantastic
22:01:47 <dmj`> haskell probably wouldn't be usable w/o it
22:01:48 ADG1089 joins (~aditya@122.163.193.183)
22:03:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
22:04:37 Rudd0 joins (~Rudd0@185.189.115.108)
22:05:50 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:3dfd:792e:2e5c:4650) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:06:03 × cdsmith quits (49cf15a2@c-73-207-21-162.hsd1.ga.comcast.net) (Ping timeout: 240 seconds)
22:06:50 <Arahael> Truely underrated.
22:07:14 <Arahael> Rust ffi isn't too bad either, but I imagine that Haskell is insanely good.
22:07:27 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
22:08:23 <dmj`> Arahael: it is insanely good yea
22:10:36 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
22:12:05 zmagii joins (~zmagii@unaffiliated/zmagii)
22:13:57 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
22:14:54 nicholasbulka joins (~nicholasb@2601:900:4301:da0:c487:22d4:1b86:5f1)
22:14:59 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
22:15:50 <safinaskar> Arahael: wow, thanks for mention of inline-rust, i didn't think this is possible. give me a link to inline-cc (you mean c or c++?)
22:16:01 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
22:17:16 <geekosaur> @hackage inline-c
22:17:16 <lambdabot> https://hackage.haskell.org/package/inline-c
22:17:23 frozenErebus joins (~frozenEre@37.231.244.249)
22:17:27 <Arahael> safinaskar: inline-c works with c++ and even objc, apparently.
22:19:08 rj joins (~x@gateway/tor-sasl/rj)
22:19:11 jgt_ joins (~jgt@87.227.221.129)
22:19:15 × notzmv quits (~zmv@unaffiliated/zmv) (Remote host closed the connection)
22:19:37 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:c487:22d4:1b86:5f1) (Ping timeout: 276 seconds)
22:19:40 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
22:20:02 Synthetica joins (uid199651@gateway/web/irccloud.com/x-pwhdqevuibihainq)
22:20:35 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds)
22:21:58 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
22:22:20 notzmv joins (~zmv@unaffiliated/zmv)
22:23:28 stree joins (~stree@68.36.8.116)
22:24:20 × jgt_ quits (~jgt@87.227.221.129) (Ping timeout: 240 seconds)
22:24:22 × Guest69224 quits (~textual@zrcout.mskcc.org) (Ping timeout: 260 seconds)
22:24:57 × dinciorip quits (~dincio@5.170.45.67) (Quit: WeeChat 3.1)
22:25:35 <dmj`> nothing beats hsc2hs
22:26:26 × myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 240 seconds)
22:27:33 myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net)
22:28:23 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:28:57 safinaskar parts (~user@109.252.90.136) ()
22:29:01 safinaskar joins (~user@109.252.90.136)
22:29:23 × chisui quits (588239b3@mue-88-130-57-179.dsl.tropolys.de) (Quit: Connection closed)
22:32:02 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
22:35:35 dmytrish joins (~mitra@2a02:8084:a82:d900:4cc7:f0a8:8d74:1dfc)
22:41:22 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 265 seconds)
22:45:43 × minoru_shiraeesh quits (~shiraeesh@77.94.25.20) (Ping timeout: 265 seconds)
22:46:39 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
22:49:25 Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas)
22:51:01 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
22:51:31 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds)
22:51:39 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
22:52:06 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
22:53:45 × DavidEichmann quits (~david@156.59.147.147.dyn.plus.net) (Remote host closed the connection)
22:54:27 × nineonine quits (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f) (Remote host closed the connection)
22:55:11 × Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving)
22:55:12 nineonine joins (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f)
22:55:19 × Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 252 seconds)
22:56:27 × dmytrish quits (~mitra@2a02:8084:a82:d900:4cc7:f0a8:8d74:1dfc) (Ping timeout: 260 seconds)
22:56:46 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds)
22:58:31 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
22:58:50 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
22:59:55 × nineonine quits (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f) (Ping timeout: 276 seconds)
22:59:57 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
23:00:17 Alleria joins (~textual@2603-7000-3040-0000-84d6-e1ad-c4e3-d276.res6.spectrum.com)
23:00:30 Alleria is now known as Guest77881
23:01:33 × natechan quits (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
23:02:54 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:03:29 rj joins (~x@gateway/tor-sasl/rj)
23:03:37 natechan joins (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
23:03:42 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
23:04:12 × ddellac__ quits (~ddellacos@86.106.143.100) (Ping timeout: 240 seconds)
23:05:07 × Guest77881 quits (~textual@2603-7000-3040-0000-84d6-e1ad-c4e3-d276.res6.spectrum.com) (Ping timeout: 276 seconds)
23:05:42 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-eetcvtwqhyagxzpq) (Quit: Connection closed for inactivity)
23:05:50 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:06:25 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
23:08:22 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
23:09:27 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
23:09:42 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection)
23:10:25 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
23:11:38 tempate joins (~alpha@unaffiliated/tempate)
23:12:11 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
23:13:31 <tempate> Hello. This is my very first time working with stack. Can anyone point me to some sort of guide to follow? I've been reading the reference manual and everything appears to be working, but it's generating a lot more stuff than I'd like. Ideally it'd just generate the minimum number of files for it to work.
23:14:53 × LKoen quits (~LKoen@140.170.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
23:17:52 Boarders joins (sid425905@gateway/web/irccloud.com/x-xclcafplofufihrb)
23:18:23 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:7c7a:6e3f:2800:2d5e) (Ping timeout: 260 seconds)
23:18:26 letmein joins (~ircclient@2601:1c1:4200:938f:cd8d:4e48:d5b9:4929)
23:20:46 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
23:22:40 <jollygood2> tempate, this may be helpful: https://docs.haskellstack.org/en/stable/GUIDE/#hello-world-example
23:23:42 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
23:24:26 <duairc> Is there any way at all to make a type family instance like `type instance Foo a = (forall r. (X -> r) -> r) -> a`? GHC complains about an illegal polymorphic type. I don't even mind factoring the `r` into the type family itself, so like, `type instance Foo a r = ((X -> r) -> r) -> a`, but `forall r. Foo a r` doesn't have the same meaning
23:25:58 cdsmith joins (49cf15a2@c-73-207-21-162.hsd1.ga.comcast.net)
23:28:17 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 268 seconds)
23:28:43 <tempate> jollygood2: Thanks, but that's the one I was following
23:28:52 × antoniotrkdz quits (2d8b63d4@gateway/web/cgi-irc/kiwiirc.com/ip.45.139.99.212) (Ping timeout: 240 seconds)
23:28:53 × JustinCase quits (~justin@2600:4040:122c:1400:3e6a:a7ff:fe68:5a47) (Ping timeout: 250 seconds)
23:30:05 × zebrag quits (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr) (Remote host closed the connection)
23:30:17 × nrdmn98 quits (~nrdmn@aufmachen.jetzt) (Quit: Ping timeout (120 seconds))
23:30:23 poljar joins (~poljar@93-139-14-190.adsl.net.t-com.hr)
23:30:28 <shachaf> duairc: Hmm, I don't know why that's not allowed.
23:30:32 <shachaf> I guess you can wrap it in a newtype.
23:30:38 nrdmn98 joins (~nrdmn@aufmachen.jetzt)
23:31:24 × Inoperable quits (~PLAYER_1@fancydata.science) (Quit: All your buffer are belong to us!)
23:32:26 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 245 seconds)
23:33:04 nineonine joins (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f)
23:33:06 × poljar1 quits (~poljar@93-143-154-6.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
23:33:54 × ADG1089 quits (~aditya@122.163.193.183) (Remote host closed the connection)
23:34:37 TMA joins (tma@twin.jikos.cz)
23:35:00 zebrag joins (~inkbottle@aaubervilliers-654-1-158-70.w86-212.abo.wanadoo.fr)
23:35:14 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
23:35:38 Inoperable joins (~PLAYER_1@fancydata.science)
23:37:27 × jao quits (~jao@pdpc/supporter/professional/jao) (Remote host closed the connection)
23:37:33 × nineonine quits (~nineonine@2604:3d08:7783:f200:98ea:cd24:b2e0:9b6f) (Ping timeout: 250 seconds)
23:38:34 × rj quits (~x@gateway/tor-sasl/rj) (Remote host closed the connection)
23:38:56 rj joins (~x@gateway/tor-sasl/rj)
23:39:06 × usr25 quits (~usr25@unaffiliated/usr25) (Ping timeout: 240 seconds)
23:42:09 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
23:42:16 <tempate> This is my very first haskell project: https://github.com/Tempate/8puzzle . It'd be great if I could get some comments on it, as I'm sure I'm doing many things in a non-haskellian way.
23:42:27 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
23:43:06 <tempate> I was also wondering if there was a more standarized method of having tests instead of just having a src/Tests file and calling it from Main
23:43:57 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
23:44:18 rj joins (~x@gateway/tor-sasl/rj)
23:47:11 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
23:47:23 × royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 252 seconds)
23:47:41 × mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 240 seconds)
23:48:23 × acidjnk_new2 quits (~acidjnk@p200300d0c72b9574a5163a3f5f418180.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
23:49:26 mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au)
23:50:19 nicholasbulka joins (~nicholasb@2601:900:4301:da0:c487:22d4:1b86:5f1)
23:58:17 royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
23:59:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)

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