Home freenode/#haskell: Logs Calendar

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

00:01:31 gzj joins (~gzj@unaffiliated/gzj)
00:02:11 × redmp quits (~redmp@172.58.19.67) (Ping timeout: 240 seconds)
00:08:14 fabricio joins (b3d90aea@179.217.10.234)
00:08:38 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
00:08:38 fabricio is now known as Guest50946
00:08:52 × Guest50946 quits (b3d90aea@179.217.10.234) (Client Quit)
00:15:02 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
00:16:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
00:17:06 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
00:17:26 gzj joins (~gzj@unaffiliated/gzj)
00:19:17 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
00:21:06 × philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:21:40 dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c)
00:24:53 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
00:25:15 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
00:26:42 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
00:27:15 × dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 260 seconds)
00:28:07 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
00:32:01 <nshepperd2> what are the leak problems?
00:32:33 × ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Quit: Leaving)
00:34:32 <solidus-river> not very familiar I'm probably referencing something outdated
00:34:48 <solidus-river> some fpcomplete blog post around experiences with it
00:37:16 renzhi joins (~renzhi@2607:fa49:6500:bc00::e7b)
00:37:43 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
00:37:53 × solidus-river quits (~fuag1@174.127.249.180) (Read error: Connection reset by peer)
00:38:34 Jd007 joins (~Jd007@162.156.11.151)
00:39:03 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:40:38 zmijunkie1 joins (~Adium@87.123.48.31)
00:41:41 solidus-river joins (~mike@174.127.249.180)
00:42:32 × zmijunkie quits (~Adium@87.122.210.20) (Ping timeout: 240 seconds)
00:43:10 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
00:44:32 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
00:45:16 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
00:45:29 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
00:46:30 × ericsagnes quits (~ericsagne@2405:6580:0:5100:f641:c40f:5016:aacb) (Ping timeout: 258 seconds)
00:46:45 {abby} joins (~{abby}@unaffiliated/demhydraz)
00:47:11 × DavidEichmann quits (~david@147.136.46.217.dyn.plus.net) (Ping timeout: 240 seconds)
00:53:51 johnw joins (~johnw@haskell/developer/johnw)
00:55:35 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 246 seconds)
00:56:39 elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
00:56:40 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
00:57:05 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
00:58:00 ericsagnes joins (~ericsagne@2405:6580:0:5100:7271:1d8b:4a70:e005)
00:58:17 stree joins (~stree@68.36.8.116)
00:58:56 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:00:39 remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca)
01:00:40 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
01:00:49 tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr)
01:01:30 Jd007 joins (~Jd007@162.156.11.151)
01:03:52 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
01:04:15 × jespada quits (~jespada@90.254.243.187) (Ping timeout: 268 seconds)
01:05:34 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
01:05:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.1)
01:07:06 mekeor parts (~user@2001:a61:2508:9601:50e:85a3:5209:cb06) ("ERC (IRC client for Emacs 27.1)")
01:07:21 mekeor joins (~user@2001:a61:2508:9601:50e:85a3:5209:cb06)
01:08:08 × tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 252 seconds)
01:09:25 jespada joins (~jespada@87.74.37.248)
01:10:29 malumore_ joins (~malumore@151.62.127.162)
01:12:21 × whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:13:29 whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:14:01 × malumore quits (~malumore@151.62.117.136) (Ping timeout: 260 seconds)
01:14:17 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:17:05 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
01:17:36 mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au)
01:18:33 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
01:20:17 × remby quits (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) (Remote host closed the connection)
01:22:51 tsandstr joins (~user@nat-130-132-173-221.central.yale.edu)
01:26:37 maroloccio joins (~marolocci@pousada3ja.mma.com.br)
01:29:24 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
01:30:55 Guest78317 joins (~laudiacay@67.176.215.84)
01:33:13 × mekeor quits (~user@2001:a61:2508:9601:50e:85a3:5209:cb06) (Remote host closed the connection)
01:34:47 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
01:35:15 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:35:40 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds)
01:37:01 Jd007 joins (~Jd007@162.156.11.151)
01:37:38 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
01:38:11 × Ishutin_ quits (~ishutin@94-21-174-90.pool.digikabel.hu) (Ping timeout: 240 seconds)
01:39:00 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:39:01 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:42:57 × nrh^ quits (nrh@ip98-184-89-2.mc.at.cox.net) ()
01:44:33 dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net)
01:45:34 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
01:46:05 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection)
01:47:25 nicholasbulka joins (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net)
01:48:30 Ishutin joins (~ishutin@94-21-174-90.pool.digikabel.hu)
01:49:23 × xff0x quits (~xff0x@2001:1a81:52cf:7d00:b2d0:1364:2669:3f2f) (Ping timeout: 260 seconds)
01:51:07 xff0x joins (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7)
01:51:32 × nicholasbulka quits (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net) (Ping timeout: 240 seconds)
01:51:52 × mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Quit: Konversation terminated!)
01:54:02 drbean_ joins (~drbean@TC210-63-209-143.static.apol.com.tw)
01:56:03 mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au)
01:56:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
01:56:25 gzj joins (~gzj@unaffiliated/gzj)
02:00:05 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
02:00:12 × elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
02:00:26 gzj joins (~gzj@unaffiliated/gzj)
02:03:24 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
02:06:36 × unyu quits (~pyon@unaffiliated/pyon) (Quit: Kernel upgrade.)
02:13:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:14:48 howdoi joins (uid224@gateway/web/irccloud.com/x-hkhmdulpecnrnswo)
02:18:20 ukari joins (~ukari@unaffiliated/ukari)
02:18:52 elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
02:19:07 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
02:21:18 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
02:23:11 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
02:26:14 × hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Quit: WeeChat 3.1)
02:27:10 hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube)
02:27:23 rajivr joins (uid269651@gateway/web/irccloud.com/x-llmsuyffzjhsmytj)
02:29:10 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
02:33:26 × unlink_ quits (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de) (Remote host closed the connection)
02:33:39 unlink2 joins (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de)
02:35:11 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-qhaitevlgmfrqfwo) ()
02:37:06 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
02:37:13 unyu joins (~pyon@unaffiliated/pyon)
02:37:15 × theDon quits (~td@94.134.91.246) (Ping timeout: 252 seconds)
02:39:23 theDon joins (~td@94.134.91.183)
02:43:02 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
02:43:02 finn_elija is now known as Guest48248
02:43:02 FinnElija is now known as finn_elija
02:45:09 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
02:45:19 × machined1od quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds)
02:46:45 × Guest48248 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
02:47:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
02:50:05 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
02:53:11 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
02:56:16 redmp joins (~redmp@172.58.19.190)
02:58:52 × renzhi quits (~renzhi@2607:fa49:6500:bc00::e7b) (Ping timeout: 276 seconds)
02:59:42 remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca)
03:00:32 sub0 joins (~bc8134e3@217.29.117.252)
03:02:58 × glguy quits (x@freenode/staff/haskell.developer.glguy) (Remote host closed the connection)
03:06:12 nineonine joins (~nineonine@50.216.62.2)
03:06:35 × stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds)
03:07:28 × smerdyakov quits (~dan@5.146.195.164) (Quit: Ping timeout (120 seconds))
03:07:51 smerdyakov8 joins (~dan@5.146.195.164)
03:10:20 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 246 seconds)
03:15:44 fossapup64_670 joins (~puppy@186.222.74.79)
03:19:38 stree joins (~stree@68.36.8.116)
03:23:02 × fossapup64_670 quits (~puppy@186.222.74.79) (Remote host closed the connection)
03:27:07 Jd007 joins (~Jd007@162.156.11.151)
03:27:50 × unlink2 quits (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de) (Remote host closed the connection)
03:29:18 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds)
03:35:06 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
03:42:07 × mmfood quits (~mmfood@185.176.246.69) (Ping timeout: 268 seconds)
03:42:22 × DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
03:42:53 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
03:44:17 × elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
03:46:05 × maroloccio quits (~marolocci@pousada3ja.mma.com.br) (Ping timeout: 260 seconds)
03:46:41 × shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:49df:8384:cfbc:e28d) (Ping timeout: 250 seconds)
03:53:11 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:41b7:a173:a0b0:162b)
03:55:22 Guest78317 joins (~laudiacay@67.176.215.84)
03:58:10 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
04:05:16 × solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection)
04:06:19 Lycurgus joins (~niemand@98.4.118.65)
04:08:04 Jd007 joins (~Jd007@162.156.11.151)
04:09:07 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds)
04:09:31 <jackdk> what rank2 functor/traversable etc lib do people like these days? rank2classes, conkin, barbies, something else?
04:12:26 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (Ping timeout: 245 seconds)
04:12:42 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
04:13:06 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
04:13:09 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
04:13:26 gzj joins (~gzj@unaffiliated/gzj)
04:13:52 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
04:14:30 Jd007 joins (~Jd007@162.156.11.151)
04:16:46 <Lycurgus> sounds like running with scissors if it's not broadly supported by some base lang/compiler level rather than a tacked on lib, but curious the answer is
04:17:12 × redmp quits (~redmp@172.58.19.190) (Ping timeout: 240 seconds)
04:17:23 <Lycurgus> *what the answer is
04:18:35 <Lycurgus> looks like one of those areas where hs just trails off
04:19:11 redmp joins (~redmp@172.58.19.190)
04:19:44 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
04:20:17 × __minoru__shirae quits (~shiraeesh@46.34.206.15) (Ping timeout: 252 seconds)
04:20:24 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:21:11 × remby quits (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) (Ping timeout: 240 seconds)
04:21:39 <Lycurgus> prolly the answer is implicitly in that journal of fp article by spj
04:23:05 <Lycurgus> s/answer/right guidance/ although actually common sense as in my first response may be the best policy
04:24:28 <Lycurgus> also maybe box a thing
04:26:16 × kiweun quits (~kiweun@2607:fea8:2a62:9600:64af:faf0:9188:52bf) (Remote host closed the connection)
04:26:19 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
04:27:07 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
04:28:11 nineonine joins (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07)
04:30:29 frozenErebus joins (~frozenEre@37.231.244.249)
04:30:41 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
04:37:48 × Lycurgus quits (~niemand@98.4.118.65) (Quit: Exeunt)
04:40:32 remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca)
04:41:13 × carlomagno quits (~cararell@148.87.23.9) (Remote host closed the connection)
04:41:17 × aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds)
04:44:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:48:04 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:49:07 Guest78317 joins (~laudiacay@67.176.215.84)
04:50:31 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
04:51:00 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
04:58:26 ADG1089 joins (~aditya@27.58.175.60)
05:00:11 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
05:03:13 laudiacay joins (~laudiacay@67.176.215.84)
05:03:38 laudiacay is now known as Guest6509
05:03:40 × aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 276 seconds)
05:04:40 frozenErebus joins (~frozenEre@37.231.244.249)
05:05:46 × Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds)
05:06:08 raym joins (~ray@45.64.220.116)
05:07:42 Tario joins (~Tario@201.192.165.173)
05:08:21 <koala_man> I have a comment "-- $var==42" that haddock complains about. How do I know what kind of comments are safe?
05:09:00 <c_wraith> Huh, I didn't even know that one. I was only aware of ^ and |
05:09:28 <koala_man> yeah I'm looking at https://www.haskell.org/haddock/doc/html/ch03s08.html and can't figure it out
05:09:56 <c_wraith> is that the first line in the comment block?
05:11:27 <koala_man> yes: https://github.com/koalaman/shellcheck/blob/master/src/ShellCheck/Analytics.hs#L4158
05:12:00 <c_wraith> I wonder if it's somehow deciding the == is a header marker
05:18:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
05:19:16 coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
05:19:33 × waleee-cl quits (uid373333@gateway/web/irccloud.com/x-hagaqbxuugljakul) (Quit: Connection closed for inactivity)
05:27:43 × stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds)
05:29:58 × ADG1089 quits (~aditya@27.58.175.60) (Remote host closed the connection)
05:30:39 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
05:32:43 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 252 seconds)
05:33:08 sord937 joins (~sord937@gateway/tor-sasl/sord937)
05:40:55 stree joins (~stree@68.36.8.116)
05:47:32 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
05:49:12 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
05:49:53 Tario joins (~Tario@201.192.165.173)
05:51:37 remby parts (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) ("Closing Window")
05:56:26 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
06:00:31 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
06:01:49 frozenErebus joins (~frozenEre@37.231.244.249)
06:03:06 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
06:03:17 jamm_ joins (~jamm@unaffiliated/jamm)
06:06:56 chele joins (~chele@5.53.222.202)
06:07:31 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds)
06:10:21 × mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 260 seconds)
06:15:08 zmijunkie joins (~Adium@109.90.32.89)
06:15:22 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
06:17:16 × zmijunkie1 quits (~Adium@87.123.48.31) (Ping timeout: 252 seconds)
06:20:01 malumore__ joins (~malumore@151.62.127.162)
06:20:50 michalz joins (~user@185.246.204.61)
06:22:26 × malumore_ quits (~malumore@151.62.127.162) (Ping timeout: 240 seconds)
06:25:34 bitmagie joins (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de)
06:26:48 kiweun joins (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
06:26:52 × bitmagie quits (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de) (Client Quit)
06:28:13 grumble joins (~Thunderbi@freenode/staff/grumble)
06:28:18 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
06:30:43 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
06:30:58 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
06:31:41 × kiweun quits (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
06:34:02 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
06:34:19 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
06:34:59 kuribas joins (~user@ptr-25vy0i7jci8m8wg4e6i.18120a2.ip6.access.telenet.be)
06:39:14 × redmp quits (~redmp@172.58.19.190) (Ping timeout: 252 seconds)
06:39:17 puke joins (~vroom@217.138.252.196)
06:46:00 × zmijunkie quits (~Adium@109.90.32.89) (Quit: Leaving.)
06:48:30 <jackdk> `-- $` is a named section in haddock
06:48:40 <jackdk> you see it sometimes in doctest stuff to hide setup code
06:49:16 <jackdk> https://haskell-haddock.readthedocs.io/en/latest/markup.html#named-chunks
07:01:22 zva joins (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de)
07:01:23 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
07:05:04 remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca)
07:05:34 <remby> what's the value of assigment expression = in haskell?
07:06:43 tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr)
07:08:22 ashesham` joins (~user@d8d87d1b0.access.telenet.be)
07:09:20 Sarcarean joins (4582bfd4@h69-130-191-212.bendor.broadband.dynamic.tds.net)
07:10:41 plutoniix joins (~q@node-unm.pool-125-24.dynamic.totinternet.net)
07:10:49 × plutoniix quits (~q@node-unm.pool-125-24.dynamic.totinternet.net) (Max SendQ exceeded)
07:11:16 plutoniix joins (~q@node-unm.pool-125-24.dynamic.totinternet.net)
07:11:45 <aforemny> remby: assignment is not an expression in haskell. You can't return an assignment from a function
07:12:16 <remby> ah interesting
07:12:38 <remby> so it's one of those unit types then eh
07:13:34 Varis joins (~Tadas@unaffiliated/varis)
07:13:39 <aforemny> remby: I don't think it makes sense to think of the type of an assignment, because it does not evaluate to a value. I would just book it as a syntax statement
07:14:38 <aforemny> remby: Like, in `foo = bar`, both `foo` and `bar` have types. But `foo = bar` does not
07:14:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:14:51 <remby> in haskell it's more akin to the concept of binding right? being a functional language it has an environment for names
07:15:01 <aforemny> remby: Exactly
07:15:48 <aforemny> All assignments just give new names to already existing things
07:16:59 idhugo__ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
07:17:59 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
07:17:59 <remby> thanks, this has been part of a puzzle I'm trying to solve
07:18:14 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
07:18:20 <remby> (though a problem of my own making, solutions exist)
07:19:11 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
07:20:09 cfricke joins (~cfricke@unaffiliated/cfricke)
07:21:26 × Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds)
07:22:07 × hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:b5a5:898d:202b:258b) (Ping timeout: 260 seconds)
07:27:31 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
07:28:03 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
07:28:14 × nineonine quits (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07) (Remote host closed the connection)
07:28:19 xourt joins (d4c620ea@212-198-32-234.rev.numericable.fr)
07:29:16 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
07:30:10 tlgl^nix joins (~damien@S0106008ef25e98fb.su.shawcable.net)
07:31:06 × tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds)
07:32:12 × earthy quits (~arthurvl@deban2.xs4all.space) (Ping timeout: 240 seconds)
07:33:06 thc202 joins (~thc202@unaffiliated/thc202)
07:33:41 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:34:30 hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:f194:fff7:6857:408)
07:35:33 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
07:37:17 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:40:22 × Sgeo_ quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
07:41:41 × pfurla_ quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds)
07:42:11 × howdoi quits (uid224@gateway/web/irccloud.com/x-hkhmdulpecnrnswo) (Quit: Connection closed for inactivity)
07:42:58 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
07:46:32 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
07:48:55 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
07:51:21 kritzefitz joins (~kritzefit@212.86.56.80)
07:56:19 vilpan joins (~0@212.117.1.172)
07:57:22 fendor joins (~fendor@178.115.128.219.wireless.dyn.drei.com)
07:57:41 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
07:59:06 × remby quits (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) (Quit: Going offline, see ya! (www.adiirc.com))
08:00:23 ericsagn1 joins (~ericsagne@2405:6580:0:5100:443a:6df:3b17:c075)
08:00:45 dpl joins (~dpl@77-121-78-163.chn.volia.net)
08:01:32 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
08:01:35 stree joins (~stree@68.36.8.116)
08:03:13 × ericsagnes quits (~ericsagne@2405:6580:0:5100:7271:1d8b:4a70:e005) (Ping timeout: 250 seconds)
08:03:28 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
08:06:57 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
08:08:26 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection)
08:08:51 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
08:11:58 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
08:13:06 hendursa1 joins (~weechat@gateway/tor-sasl/hendursaga)
08:14:33 RusAlex_ joins (~Chel@BSN-77-82-41.static.siol.net)
08:15:32 × RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 240 seconds)
08:15:57 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
08:16:33 ericsagnes joins (~ericsagne@2405:6580:0:5100:ae0c:73f9:9b3c:8229)
08:17:01 × sub0 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
08:19:34 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:443a:6df:3b17:c075) (Ping timeout: 245 seconds)
08:23:46 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 252 seconds)
08:28:06 kiweun joins (~kiweun@2607:fea8:2a62:9600:dd71:c079:2d22:82ad)
08:30:19 DavidEichmann joins (~david@147.136.46.217.dyn.plus.net)
08:30:28 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
08:32:01 mmfood joins (~mmfood@185.176.246.69)
08:32:26 × kiweun quits (~kiweun@2607:fea8:2a62:9600:dd71:c079:2d22:82ad) (Ping timeout: 245 seconds)
08:36:13 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
08:37:18 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 252 seconds)
08:37:40 kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49)
08:41:47 notzmv joins (~zmv@unaffiliated/zmv)
08:42:43 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
08:44:38 frozenErebus joins (~frozenEre@37.231.244.249)
08:56:27 × fendor quits (~fendor@178.115.128.219.wireless.dyn.drei.com) (Remote host closed the connection)
08:57:14 × plutoniix quits (~q@node-unm.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
08:57:35 fendor joins (~fendor@178.115.128.219.wireless.dyn.drei.com)
09:03:12 × xourt quits (d4c620ea@212-198-32-234.rev.numericable.fr) (Quit: Connection closed)
09:03:31 pyface joins (~me@about/security/contributor/pyface)
09:05:12 ubert joins (~Thunderbi@91.141.1.48.wireless.dyn.drei.com)
09:06:07 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
09:07:40 frozenErebus joins (~frozenEre@37.231.244.249)
09:10:28 × miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
09:17:37 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:23:30 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
09:24:14 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
09:26:00 × idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
09:27:53 AlexLee joins (2a0313d9@42-3-19-217.static.netvigator.com)
09:29:01 × kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Ping timeout: 250 seconds)
09:33:22 × drbean_ quits (~drbean@TC210-63-209-143.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
09:35:34 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
09:37:56 × AlexLee quits (2a0313d9@42-3-19-217.static.netvigator.com) (Quit: Connection closed)
09:38:11 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
09:39:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
09:39:08 <srk> is is possible to have a per-project .ghci_history? with cabal repl
09:39:14 <srk> *it
09:40:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:40:48 × vchlup quits (~vchlup@nat.brnet.cz) (Remote host closed the connection)
09:41:59 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
09:42:16 vchlup joins (~vchlup@nat.brnet.cz)
09:42:35 × ubert quits (~Thunderbi@91.141.1.48.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
09:42:52 kritzefitz joins (~kritzefit@212.86.56.80)
09:45:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
09:46:26 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:50:53 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 240 seconds)
09:51:12 kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49)
09:51:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
09:51:46 frozenErebus joins (~frozenEre@37.231.244.249)
09:52:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:52:59 gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
09:53:26 mikolaj joins (~mikon@duch.mimuw.edu.pl)
09:53:30 sQVe joins (~sQVe@unaffiliated/sqve)
09:55:01 tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr)
09:57:44 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
09:58:09 __minoru__shirae joins (~shiraeesh@46.34.206.15)
09:58:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
09:58:56 mikolaj_ joins (~mikolaj@purple.well-typed.com)
10:00:30 × Rudd0 quits (~Rudd0@185.189.115.108) (Read error: Connection reset by peer)
10:00:35 Rudd0^ joins (~Rudd0@185.189.115.108)
10:03:37 ClaudiusMaximus joins (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net)
10:03:39 × ClaudiusMaximus quits (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host)
10:03:40 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
10:03:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
10:03:49 thblt joins (~thblt@unaffiliated/thblt)
10:04:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:04:44 junkicide joins (~user@37.164.172.175)
10:05:03 × milessabin quits (sid86799@gateway/web/irccloud.com/x-aurnquefvyorfrgg) (Ping timeout: 246 seconds)
10:05:12 × rslima_____ quits (sid26145@gateway/web/irccloud.com/x-goofybjtwpxkxwqn) (Ping timeout: 258 seconds)
10:05:12 × kyagrd__ quits (sid102627@gateway/web/irccloud.com/x-qbvavchptiwverik) (Ping timeout: 258 seconds)
10:05:27 × graingert quits (sid128301@gateway/web/irccloud.com/x-hbzbznvgopicjtxc) (Ping timeout: 260 seconds)
10:05:54 rslima_____ joins (sid26145@gateway/web/irccloud.com/x-uuewewvxxbofrynk)
10:05:54 kyagrd__ joins (sid102627@gateway/web/irccloud.com/x-rctrsarckkdvtebu)
10:05:57 milessabin joins (sid86799@gateway/web/irccloud.com/x-yhagfzynbpqlfqnu)
10:06:56 graingert joins (sid128301@gateway/web/irccloud.com/x-hzpuckilkrvcdlsz)
10:07:09 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
10:08:49 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
10:09:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:09:55 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
10:10:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:10:30 <junkicide> hello, I have a question about defining the correct type signature for my main function
10:12:06 <junkicide> It takes 3 strings (which are just integers separated by spaces) as input and as output gives 1 float
10:13:22 <junkicide> So would the correct signature be main:: IO() String -> String -> String -> Float?
10:14:03 <junkicide> Could someone explain this please?
10:14:13 <thblt> junkicide: no, main doesn't take arguments. main :: IO ()
10:14:17 <gnumonic> if it's the main function of the module it has to be IO ()
10:14:38 <thblt> junkicide: if you want to read arguments from the command-line, use System.Environment.getArgs
10:15:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
10:16:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:17:43 <thblt> junkicide: as an aside, () is a type, so IO () String would be invalid anyway.
10:18:09 <junkicide> thanks @gnumonic and @thblt
10:18:10 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:18:42 Guest6509 joins (~laudiacay@67.176.215.84)
10:18:49 × pyface quits (~me@about/security/contributor/pyface) (Remote host closed the connection)
10:19:35 <gnumonic> also, IO () means "this function doesn't return any values", so that's the type of every function that just performs an IO effect. an IO String function is a function that (might) perform IO effects but returns a string as well
10:20:10 <junkicide> i see, thanks for the explanations!
10:21:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:21:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:22:03 <gnumonic> and, just because this is useful to know if you're starting out, anything that's in IO has to *stay* in IO. So you can't (ok, you *shouldn't*, it's technically possible but almost always a bad idea) write a function of type IO String -> String. once something's IO-ified it stays that way. idk if that's useful atm but it's an important thing to be aware of
10:22:25 stree joins (~stree@68.36.8.116)
10:22:44 miklcct joins (quasselcor@2001:19f0:7402:d31:5400:3ff:fe51:a0cd)
10:22:45 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
10:23:07 × Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds)
10:23:12 <thblt> junkicide: Also that's just me, but I'm not too fan of String -> String -> String -> Float. If your strings are lists of int waiting to be parsed, I'd have parseStr :: String -> Maybe Int and compute :: [Int] -> [Int] -> [Int] -> Float
10:24:13 × miklcct quits (quasselcor@2001:19f0:7402:d31:5400:3ff:fe51:a0cd) (Client Quit)
10:25:01 <gnumonic> or if for some reason you always have sets of 3 strings, make a data type for it. data ThreeStrings = ThreeStrings String String String or something. big strength of haskell is that it lets you organize data in a very well-defined way
10:25:35 miklcct joins (quasselcor@2001:19f0:7402:d31:5400:3ff:fe51:a0cd)
10:25:52 <gnumonic> though probably thblt's suggestion is better for what you're trying to do
10:25:52 <thblt> (But maybe get your program to compile and run before you burden yourself with those design details)
10:26:21 <thblt> ((That's be parseStr :: String -> Maybe [Int] Sorry))
10:28:07 × Sarcarean quits (4582bfd4@h69-130-191-212.bendor.broadband.dynamic.tds.net) (Quit: Connection closed)
10:28:27 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
10:28:48 kiweun joins (~kiweun@2607:fea8:2a62:9600:d0ef:1415:4773:eee7)
10:31:31 Synthetica joins (uid199651@gateway/web/irccloud.com/x-hcuaynfkuabsmonx)
10:32:32 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
10:32:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
10:33:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:33:23 × kiweun quits (~kiweun@2607:fea8:2a62:9600:d0ef:1415:4773:eee7) (Ping timeout: 248 seconds)
10:34:17 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
10:36:26 × junkicide quits (~user@37.164.172.175) (Remote host closed the connection)
10:37:42 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
10:38:31 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:39:00 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
10:39:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:39:32 ukari joins (~ukari@unaffiliated/ukari)
10:42:04 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
10:43:01 philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca)
10:44:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:45:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:47:52 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8)
10:48:06 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
10:48:09 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
10:48:56 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
10:50:53 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 2.8)
10:50:54 <gnumonic> Is there anything like a typelevel strictness annotation or some other way to force typelevel "functions" (aka :: k ~> k, the defunctionalized thingies from singletons) into a normal form?
10:51:10 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
10:51:33 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
10:51:36 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
10:52:21 Kaiepi joins (~Kaiepi@47.54.252.148)
10:52:53 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
10:54:49 × srk quits (~sorki@unaffiliated/srk) (Ping timeout: 250 seconds)
10:56:23 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
10:56:53 × Kaiepi quits (~Kaiepi@47.54.252.148) (Ping timeout: 246 seconds)
10:57:27 timCF joins (~i.tkachuk@200-149-20-81.sta.estpak.ee)
11:00:15 srk joins (~sorki@unaffiliated/srk)
11:00:30 <timCF> Hello guys! I have a kinda weird question. Why mappend (<>) is working for Either exactly the same way like Alternative (<|>) for almost all other "types" like Maybe or ExceptT?
11:00:46 Kaiepi joins (~Kaiepi@47.54.252.148)
11:01:45 × leah2 quits (~leah@2001:1410:200:eea::1) (Ping timeout: 250 seconds)
11:03:35 <timCF> I know that (<>) for Either fits types and law of Semigroup, but for me it personally feels like mode Alternative (<|>) according to what it's actually doing.
11:03:59 × Kaiepi quits (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer)
11:03:59 Kaeipi joins (~Kaiepi@47.54.252.148)
11:04:31 idhugo__ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
11:05:27 leah2 joins (~leah@vuxu.org)
11:05:47 <merijn> timCF: Fun fact, <|> *is* a monoid, but on a different type :p
11:05:49 <enikar> notice, ExceptT is build from Either, and (Maybe a) is equivalent to (Either () a)
11:06:54 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
11:07:30 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
11:07:46 idhugo_ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
11:07:53 <timCF> merijn: <|> feels actually opposite to monoid :) But type signatures of <|> and <> are looking similar for sure
11:08:13 jumper149 joins (~jumper149@80.240.31.34)
11:08:40 <merijn> timCF: That laws are the same too :p
11:08:57 <merijn> left-associative operator, identity element
11:09:55 × sQVe quits (~sQVe@unaffiliated/sqve) (Quit: Bye!)
11:10:25 × idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
11:10:36 idhugo joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
11:11:08 × refusenick quits (~user@2601:644:8502:d700::8cfb) (Ping timeout: 258 seconds)
11:12:13 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 276 seconds)
11:12:38 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
11:13:09 × idhugo_ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
11:13:14 <timCF> Btw, is computation `a <|> b <|> c` lazy in case where type of every expression is `ExceptT e m a` where `m` is some side-effect IO-like monad. In case where `a` returns Right, will be side-effects of `b` and `c` executed?
11:14:59 Guest_92 joins (7a3b26e8@122-59-38-232-adsl.sparkbb.co.nz)
11:19:31 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:19:41 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:23:11 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
11:23:50 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
11:24:09 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
11:25:10 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
11:25:50 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:26:52 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:28:53 vilpan parts (~0@212.117.1.172) ()
11:31:09 × Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
11:33:53 × quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in)
11:34:33 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
11:34:59 akulkarni joins (~user@37.164.172.175)
11:35:09 <akulkarni> I have the following function:
11:35:13 <akulkarni> area::[Integer] -> [Integer] -> Integer -> Double
11:35:13 <akulkarni> area w x y = sum $ zipWith (*) (zipWith (/) (map fromInteger w) [l+1 | l <- x]) [y^(k+1) | k <- x]
11:35:44 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
11:36:27 <akulkarni> why does it give an error saying "Couldn't match expected type ‘Double’ with actual type ‘Integer’"
11:37:22 × sayola1 quits (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de) (Read error: Connection reset by peer)
11:38:50 <merijn> [l+1 | l <- x] is [Integer]
11:38:59 <merijn> but zipWith (/) expects a Double
11:39:54 sayola joins (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de)
11:41:16 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 268 seconds)
11:42:05 <xsperry> > zipWith ((/) `on` fromInteger) [10,20,30] (repeat 5)
11:42:08 <lambdabot> [2.0,4.0,6.0]
11:44:54 Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer)
11:45:50 <akulkarni> oh so the denominator should also be a Double, got it. Thanks @xsperry and @merijn
11:46:13 <xsperry> yes, see the type
11:46:16 <xsperry> :t (/)
11:46:18 <lambdabot> Fractional a => a -> a -> a
11:46:24 <xsperry> same a
11:46:52 <akulkarni> indeed
11:50:01 mason_ joins (~bc8134e3@1582020-static.lxtnkya3.metronetinc.net)
11:50:07 <mason_> hi. I want to create a Money type, that supports multiple currencies that can be added together. what I'm unsure is how to go about creating a Num etc instance, given that the result may change depending on the used exchange rate
11:55:06 Merfont joins (~Kaiepi@47.54.252.148)
11:56:26 × Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
11:57:06 invaser joins (~Thunderbi@31.148.23.125)
11:57:39 × invaser quits (~Thunderbi@31.148.23.125) (Client Quit)
11:58:17 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
11:58:31 <timCF> mason_: creating your own is exciting for sure, but you might like this one https://ren.zone/articles/safe-money
11:58:43 <merijn> mason_: Short answer: Don't
11:59:42 <merijn> It doesn't really make sense, because money isn't a number. $100 divided by 10 makes sense. $100 divided by $10 does not
11:59:49 <merijn> :t (/)
11:59:51 <lambdabot> Fractional a => a -> a -> a
12:00:00 <merijn> Which is what Num/Fractional would incur
12:00:43 <merijn> Numbers with units don't really behave like numbers and the wisest course of action is to not pretend that they do
12:01:04 <timCF> actually I think safe-money is providing Num instances, it's wrong in general, just trade off for usability. But in other aspects library is good
12:01:19 <akulkarni> @xsperry the function you wrote gives the same output even without adding `on` fromInteger
12:01:19 <lambdabot> Unknown command, try @list
12:01:52 <akulkarni> @xsperry so I don't get how adding that helps
12:01:52 <lambdabot> Unknown command, try @list
12:02:13 <xsperry> akulkarni, because number literals are polymorphic
12:02:18 <xsperry> > zipWith (/) [10,20,30 :: Integer] (repeat 5)
12:02:20 <lambdabot> error:
12:02:20 <lambdabot> • No instance for (Fractional Integer) arising from a use of ‘/’
12:02:20 <lambdabot> • In the first argument of ‘zipWith’, namely ‘(/)’
12:02:29 <xsperry> > zipWith ((/) `on` fromInteger) [10,20,30 :: Integer] (repeat 5)
12:02:32 <lambdabot> [2.0,4.0,6.0]
12:03:12 <akulkarni> xsperry ok thanks for pointing out the difference
12:03:42 lemmih joins (~lemmih@2406:3003:2072:44:b750:bcd2:3182:6116)
12:03:46 invaser joins (~Thunderbi@31.148.23.125)
12:03:59 codygman__ joins (~user@47.186.207.161)
12:04:33 <merijn> :t 5
12:04:35 <lambdabot> Num p => p
12:04:38 <merijn> > 5 :: Int
12:04:40 <lambdabot> 5
12:04:42 <merijn> > 5 :: Double
12:04:44 <lambdabot> 5.0
12:05:00 frozenErebus joins (~frozenEre@37.231.244.249)
12:05:11 × ij quits (~ij@NixOS/user/siers) (Ping timeout: 240 seconds)
12:05:13 <invaser> Hi! Wanted to ask a question relating to HSL in VSCode. Is it possible to disable a codelens (I guess that's what it's called) that adds an explicit import list? It's became quite annoying when import list is large. Here's what I'm talking about: https://i.imgur.com/3BHxPZV.png
12:06:02 urodna joins (~urodna@unaffiliated/urodna)
12:06:14 <mason_> so in safe-money, money expressed in one currency is of different type than money expressed in another?
12:06:34 <timCF> invaser: so it shows what exactly is used from imports?
12:07:52 <invaser> timCF: Yes, and on click it adds an explicit list of imports to the line
12:08:22 <timCF> mason_: yes, different currency = different money types. It make sense, because different money types have different fungibility properties - for example bitcoin has the smallest possible unit, but gold does not, you can devide it as much as you want.
12:08:27 <mason_> I have items with price field, which can be in several different currencies. to support that with safe-money, I would have to create a sum type of different currencies, which doesn't seem ideal. a Money type I imagined would already be a sum type of all supported currencies
12:09:41 <invaser> Overall, I'm not really sure if I should remove it, ha-ha. I just find it a little bit annoying. But it seems that I've seen somewhere (probably in GHC coding style guide) that you shouldn't really use explicit import list except for when declarations clash with each other. Should I use explicit or implicit generally?
12:09:58 <timCF> invaser: that's super cool! I want vim plugin which is doing this automatically as well)
12:12:53 minoru_shiraeesh joins (~shiraeesh@46.34.206.15)
12:13:07 <merijn> invaser: explicit, imo
12:13:23 <merijn> invaser: GHC is a bit special in that is only allowed to have a tiny number of dependencies
12:13:50 <merijn> invaser: Which makes it easy to assume everyone knows most types and where they're from
12:14:18 Pickchea joins (~private@unaffiliated/pickchea)
12:14:18 × __minoru__shirae quits (~shiraeesh@46.34.206.15) (Remote host closed the connection)
12:15:05 <merijn> invaser: I explicitly list or do qualified imports everywhere (well, sometimes I have a "1 package" exception, like my CLI module importing all of optarse implicitly, but never more than 1 package per module)
12:15:30 <merijn> Experience has taught me, that, when you touch that code 2.5 years later, explicit/qualified everything is amazing
12:15:40 drbean_ joins (~drbean@TC210-63-209-37.static.apol.com.tw)
12:15:44 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
12:17:19 <invaser> merijn: Yeah, importing explicitly definitely does make sense.
12:18:16 <invaser> Also language server makes it very easy with suggestions
12:18:48 <merijn> I tend to have open imports when I start writing a module, but as it becomes more finished I start closing them up
12:20:46 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:22:10 Kaivo joins (~Kaivo@172-97-54-87.mc.derytele.com)
12:22:27 <jackdk> merijn: I like this, though I make similar exceptions for testing libraries and Control.Lens.Operators
12:23:07 × timCF quits (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving)
12:25:03 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
12:25:30 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
12:26:21 idhugo_ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net)
12:27:25 Carl34 joins (ce2860bd@189.206-40-96.netnet.net)
12:28:03 × ericsagnes quits (~ericsagne@2405:6580:0:5100:ae0c:73f9:9b3c:8229) (Ping timeout: 248 seconds)
12:28:27 <dibblego> I do this (I am doing this RN)
12:28:38 <Carl34> Quick question.  Is distributed-process (cloud haskell) a dead end (is anyone developing in it)?  If not, what is the alternative?
12:28:40 × idhugo quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds)
12:29:25 kiweun joins (~kiweun@2607:fea8:2a62:9600:991a:2b9b:41:3744)
12:30:43 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
12:31:07 <maerwald> erlang
12:31:19 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
12:33:10 Deide joins (~Deide@217.155.19.23)
12:33:41 × kiweun quits (~kiweun@2607:fea8:2a62:9600:991a:2b9b:41:3744) (Ping timeout: 245 seconds)
12:34:54 <maerwald> explicit imports is only interesting if your IDE can't show the origin of an identifier
12:37:32 × Merfont quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
12:37:51 Merfont joins (~Kaiepi@47.54.252.148)
12:41:00 ericsagnes joins (~ericsagne@2405:6580:0:5100:2722:6cc:f3d:a92d)
12:41:02 × minoru_shiraeesh quits (~shiraeesh@46.34.206.15) (Remote host closed the connection)
12:41:32 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
12:41:34 minoru_shiraeesh joins (~shiraeesh@46.34.206.15)
12:41:36 <juri_> it's also good dicipline to ensure you do not pull in the wrong version of the wrong function with that oh-so-common-name from the wrong library.
12:41:49 <Carl34> Nice,  how about a haskell alternative?
12:41:49 <merijn> maerwald: Like when I check something out in the source of a dependency on github
12:41:59 <merijn> maerwald: Or click on the Hackage source link of a package
12:42:06 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
12:42:29 <merijn> I read lots of Haskell code outside my editor that way
12:43:01 <maerwald> github could provide IDE like info easily
12:43:16 <maerwald> https://github.com/alexwl/haskell-code-explorer
12:43:30 stree joins (~stree@68.36.8.116)
12:44:01 <maerwald> hackage also provides such info partly
12:44:21 <maerwald> but I think just the type, not the origin
12:46:42 × Carl34 quits (ce2860bd@189.206-40-96.netnet.net) (Ping timeout: 240 seconds)
12:50:44 <Mrbuck> merijn: what is your editor I am just curious what editors haskell profesionals use
12:51:11 <merijn> vim
12:51:16 codygman` joins (~user@209.251.131.98)
12:51:20 <merijn> But then, my editor is vim for everything
12:51:30 <merijn> python, C, C++, Fortran, ruby
12:51:40 <Mrbuck> merijn: ok
12:52:00 <absence> how can i get rid of the proxy argument in test3? https://pastebin.com/9jcWaeDX if i just remove it, ghc complains that it can't deduce SomeClass e0 from the context SomeClass e, so i guess i need something extra in the type signature? or isn't TypeApplications a full replacement for proxy?
12:52:32 × codygman__ quits (~user@47.186.207.161) (Ping timeout: 240 seconds)
12:53:50 × idhugo_ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
12:55:14 <gnumonic> quantify the e in the first test?
12:56:23 <gnumonic> er nevermind. that doesn't work. thought it would
12:58:15 <absence> yes, the implicit forall should be enough if i understand correctly
12:58:19 × unyu quits (~pyon@unaffiliated/pyon) (Read error: Connection reset by peer)
12:59:15 unyu joins (~pyon@unaffiliated/pyon)
12:59:17 <absence> since it works with the proxy argument, i would expect that test and test2 can remain unchanged
13:02:19 <carbolymer> what +RTS -T -s switches do? I can't find them in GHC users' guide
13:05:01 <geekosaur> -T Collect GC statistics (useful for in-program statistics access)
13:05:01 <geekosaur> -s[<file>] Summary GC statistics (if <file> omitted, uses stderr)
13:05:12 <geekosaur> (from +RTS --help)
13:05:16 <carbolymer> thx
13:05:39 miguel1 joins (~miguel@host-82-135-31-200.customer.m-online.net)
13:05:54 <merijn> carbolymer: Eh, seems to me they are in the users' guide?
13:06:04 <merijn> carbolymer: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/runtime_control.html#rts-options-to-produce-runtime-statistics
13:06:25 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
13:06:28 <carbolymer> merijn: ooh, I was looking at chapter 8...
13:06:45 <merijn> carbolymer: -s doesn't require profiling build :)
13:06:54 <carbolymer> I see that now
13:07:35 plutoniix joins (~q@node-unm.pool-125-24.dynamic.totinternet.net)
13:07:45 <merijn> oh, obligatory profiling/performance questions: "are you using threaded RTS? If yes, did you remember to turn of parallel GC?" ;)
13:07:50 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection)
13:08:07 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
13:08:13 × miguel1 quits (~miguel@host-82-135-31-200.customer.m-online.net) (Client Quit)
13:08:40 <merijn> carbolymer: btw, I think "+RTS -h" actually prints commandline help for rtsopts
13:09:57 <carbolymer> merijn: thanks, will start there next time :) also, what about parallel gc? what's wrong with it?
13:10:23 chomwitt joins (~alexander@2a02:587:dc0a:2700:dc6:16ac:a95:eabf)
13:11:42 <absence> gnumonic: oh, needs AllowAmbiguousTypes
13:12:51 <geekosaur> threads need to synchronize during GC, this is only a win for some use cases
13:13:56 carlomagno joins (~cararell@148.87.23.9)
13:14:39 <carbolymer> geekosaur: well ok, but I don't see a relation to the parallel GC here
13:14:53 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1)
13:16:10 <geekosaur> with normal gc every thread is stopped during gc, with parallel every thread waits until all of them have reached a syncpoint/done an allocation
13:16:11 <gnumonic> absence: oh that makes sense. without any term level argument it thinks it can't possibly infer the type or something
13:16:27 <geekosaur> as I understand it
13:17:00 <geekosaur> so your program spends more time stopped waiting on some other thread to become GCable with parallel GC
13:17:13 <gnumonic> now i'm wondering if there is a case where you can't get by with TypeApplications and need an explicit proxy
13:17:35 × tabemann quits (~travisb@2600:1700:7990:24e0:1797:6b66:735:4572) (Remote host closed the connection)
13:17:56 <merijn> carbolymer: parallel GC is a net bad thing on most programs
13:17:57 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
13:18:12 <merijn> carbolymer: Like "I got 80% speedup disabling it on some code"-bad :)
13:18:49 <merijn> carbolymer: I think in 9.2 they disable it by default, but atm the default for threaded runtime is parallel GC enabled, despite it being bad on most programs
13:18:52 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:19:42 zmijunkie joins (~Adium@109.90.32.89)
13:20:55 zariuq joins (~zar@fw1.ciirc.cvut.cz)
13:20:59 <carbolymer> geekosaur: merijn: interesting, thanks! is there a place where can I read more about GHC's garbage collectors?
13:21:36 <merijn> ooh, that's a tricky question
13:21:39 <carbolymer> coming from JVM, I'm surprised that resources about GHC GC are a bit scarce
13:21:46 <merijn> I'm not sure there's any comprehensive articles
13:21:57 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
13:22:11 <merijn> I think I learned most of it through osmosis >.>
13:22:19 <carbolymer> :|
13:22:20 <merijn> There was the JFP draft by ezyang
13:22:36 <merijn> carbolymer: http://ezyang.com/jfp-ghc-rts-draft.pdf
13:22:50 <carbolymer> thx
13:23:06 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
13:23:26 × Rudd0^ quits (~Rudd0@185.189.115.108) (Remote host closed the connection)
13:24:10 × milessabin quits (sid86799@gateway/web/irccloud.com/x-yhagfzynbpqlfqnu) (Quit: Connection closed for inactivity)
13:24:13 son0p joins (~ff@181.136.122.143)
13:24:32 <merijn> carbolymer: tbh, there's really just 2 collectors atm, and one is about 1-2 years old?
13:24:38 barakkl1993 joins (~barakkley@2.55.47.160)
13:27:12 × carlomagno quits (~cararell@148.87.23.9) (Remote host closed the connection)
13:27:23 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
13:29:34 RandomArcher joins (~RandomArc@90.153.145.2)
13:30:18 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
13:32:05 <carbolymer> merijn: I wonder why is that, is that because of the immutability, there's not much room for improvement?
13:32:15 × barakkl1993 quits (~barakkley@2.55.47.160) (Remote host closed the connection)
13:32:35 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
13:32:38 carlomagno joins (~cararell@148.87.23.4)
13:32:39 <carbolymer> merijn: or no one wants to work on that?;]
13:33:13 <geekosaur> the latter, I think. there have been proposals for other GC mechanisms but a shortage of people willing to work on them
13:33:50 <merijn> Well, bit of both?
13:33:54 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
13:34:05 <merijn> I mean, GHC's GC is pretty well-tuned and elegant for *most* workloads
13:34:19 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
13:34:39 <merijn> The new GC addressed some cases where the default GC doesn't work well
13:34:41 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 240 seconds)
13:35:16 <merijn> So it's basically a matter of "status quo is good enough for most people, and people would rather work on other things until it becomes a problem"
13:35:53 × RandomArcher quits (~RandomArc@90.153.145.2) (Ping timeout: 265 seconds)
13:36:20 Tario joins (~Tario@201.192.165.173)
13:36:40 s00pcan joins (~chris@107.181.165.217)
13:38:12 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
13:40:36 zaquest joins (~notzaques@5.128.210.178)
13:45:11 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
13:45:59 renzhi joins (~renzhi@2607:fa49:6500:bc00::e7b)
13:46:08 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
13:47:11 <carbolymer> I get that
13:48:58 safinaskar joins (~user@109.252.90.136)
13:49:15 × drbean_ quits (~drbean@TC210-63-209-37.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
13:51:22 <merijn> tbh, it probably isn't even that hard to get working on that
13:51:45 <merijn> Especially now that the non-moving collector was recently finished and people have done the hardwork of making the GC replaceable
13:52:06 × safinaskar quits (~user@109.252.90.136) (Client Quit)
13:52:12 <merijn> (Adding a 3rd GC is probably much less work, now that a 2nd GC has already ran into and hopefully fixed the problems of making it changeable)
13:54:51 <hyperisco> you're batting between latency and throughput with GC yes? does GHC have an offering for each?
13:55:25 <merijn> hyperisco: Not just those two
13:55:42 <hyperisco> what else
13:55:44 <merijn> hyperisco: Consider that your allocation speed also probably *also* affected
13:55:48 <hyperisco> memory overhead I suppose
13:55:49 Sheilong joins (uid293653@gateway/web/irccloud.com/x-oxdglogbveesxllt)
13:55:56 <merijn> And memory overhead, yeah
13:56:02 <merijn> It's trade-offs everywhere!
13:56:20 <hyperisco> changing allocation speed can be measured in latency and throughput though
13:56:36 <merijn> One of the reasons GHC uses it's current GC design is because lazy evaluation allocates a lot and the current GC lets GHC use a bump-pointer allocator
13:56:57 <merijn> Which is basically as fast as any allocator can ever be
13:57:00 malumore__ is now known as malumore
13:57:57 <merijn> But without a compacting GC bump pointer allocation would get you crazy memory fragmentation
14:00:38 × Merfont quits (~Kaiepi@47.54.252.148) (Ping timeout: 246 seconds)
14:01:07 Kaiepi joins (~Kaiepi@47.54.252.148)
14:02:22 wonko7 joins (~wonko7@62.115.229.50)
14:05:12 Jd007 joins (~Jd007@162.156.11.151)
14:05:39 × centril quits (~centril@213-66-146-92-no250.tbcn.telia.com) (Ping timeout: 248 seconds)
14:11:32 lordcirth joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
14:13:30 <lordcirth> I've got a function nDice :: Int -> Int -> State GameState [Int] ; I'd prefer it to return the sum of the dice rather than the list; but since it doesn't return the actual numbers, I don't know how. Is there a way to map sum over it and turn it into a single State?
14:16:50 <geekosaur> that looks like fmap sum to me
14:18:11 × berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
14:18:43 berberman joins (~berberman@unaffiliated/berberman)
14:20:03 akulkarn` joins (~user@aputeaux-652-1-270-231.w90-43.abo.wanadoo.fr)
14:21:20 <lordcirth> Huh, fmap does work. cool, thanks!
14:22:13 × akulkarni quits (~user@37.164.172.175) (Ping timeout: 268 seconds)
14:23:47 × aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 248 seconds)
14:25:40 × zva quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
14:26:09 <gnumonic> is there anything i can do to make the HLS plugin for vscode crash less on TH splices?
14:26:46 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
14:28:17 <gnumonic> it seems to really hate singletons TH stuff
14:30:13 kiweun joins (~kiweun@2607:fea8:2a62:9600:fd8c:747:a4ad:281b)
14:34:31 × kiweun quits (~kiweun@2607:fea8:2a62:9600:fd8c:747:a4ad:281b) (Ping timeout: 250 seconds)
14:36:31 lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
14:38:51 × lordcirth quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
14:41:12 × malumore quits (~malumore@151.62.127.162) (Remote host closed the connection)
14:43:20 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
14:45:33 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
14:46:14 zmijunkie1 joins (~Adium@87.123.48.31)
14:46:34 × zmijunkie quits (~Adium@109.90.32.89) (Ping timeout: 252 seconds)
14:47:00 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
14:47:08 litenull joins (~litenull@37.120.211.188)
14:47:49 malumore joins (~malumore@151.62.127.162)
14:48:39 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
14:48:53 ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
14:51:31 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
14:51:54 redmp joins (~redmp@172.58.22.142)
14:53:07 jakalx parts (~jakalx@base.jakalx.net) ()
14:53:31 jakalx joins (~jakalx@base.jakalx.net)
14:54:07 dunj3 joins (~dunj3@2001:16b8:30e8:aa00:6400:c54b:6c37:a59c)
14:56:18 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
14:57:11 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:58:08 <kuribas> is there a FRP library that allows for IO?
14:58:11 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
14:59:07 <dmj`> kuribas: is there an FRP library that doesn't?
14:59:20 howdoi joins (uid224@gateway/web/irccloud.com/x-vstezmgnvunlkcvf)
14:59:21 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
14:59:25 <kuribas> dmj`: I mean that I can do database lookups.
15:00:09 <dmj`> kuribas: that would be IO, so same question holds
15:00:11 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
15:00:28 <kuribas> they do, but it doesn't seem easy to model a database lookup into it.
15:00:30 frozenErebus joins (~frozenEre@37.231.244.249)
15:00:44 <dmj`> kuribas: why not
15:00:52 idhugo_ joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
15:01:52 <kuribas> dmj`: what would you use for reactive-banana?
15:01:55 nan` joins (~nan`@unaffiliated/nan/x-5405850)
15:01:59 × idhugo_ quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
15:02:06 anandprabhu joins (~anand@94.203.71.143)
15:02:39 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
15:02:52 boogsbunny joins (c09174ec@192.145.116.236)
15:03:05 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
15:03:16 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
15:03:45 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
15:03:57 idhugo_ joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
15:04:20 stree joins (~stree@68.36.8.116)
15:05:06 × idhugo_ quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Client Quit)
15:05:46 × invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 240 seconds)
15:05:56 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
15:07:28 lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
15:07:48 <kuribas> dmj`: none of the functions seems useful for taking an event data, looking stuff up in the database, and generating a new even.
15:08:18 <kritzefitz> kuribas, sound like you want Reactive.Banana.Frameworks.execute.
15:09:19 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
15:09:21 <merijn> kuribas: eh: https://hackage.haskell.org/package/reactive-banana-1.2.1.0/docs/Reactive-Banana-Frameworks.html#v:mapEventIO
15:09:30 <merijn> mapEventIO :: (a -> IO b) -> Event a -> MomentIO (Event b)
15:09:39 <merijn> That seems exactly what you're asking for?
15:09:56 <kuribas> merijn: ah cool, yes!
15:10:03 × lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
15:10:16 × anandprabhu quits (~anand@94.203.71.143) (Quit: Konversation terminated!)
15:11:19 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
15:11:38 Kaiepi joins (~Kaiepi@47.54.252.148)
15:12:02 × boogsbunny quits (c09174ec@192.145.116.236) (Ping timeout: 240 seconds)
15:14:19 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Quit: Lost terminal)
15:15:29 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
15:15:50 × seven_three quits (~user@pool-96-233-64-53.bstnma.fios.verizon.net) (Remote host closed the connection)
15:18:40 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Client Quit)
15:19:08 dastomaten joins (~dastomate@0543f40b.skybroadband.com)
15:19:08 Kaeipi joins (~Kaiepi@47.54.252.148)
15:19:09 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
15:19:09 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
15:19:09 ph88 joins (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258)
15:19:32 seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net)
15:19:51 waleee-cl joins (uid373333@gateway/web/irccloud.com/x-aqzweplpcsywgnal)
15:19:54 <seven_three> Is it possible to mix typeclass constraints into data declarations? I want to say something like `data Foo = (Num a) => Bar a | Integer`. If not how would you express this?
15:20:25 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:20:35 vicfred joins (~vicfred@unaffiliated/vicfred)
15:20:40 <kuribas> seven_three: with GADT syntax, but normally you don't want this.
15:20:52 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
15:20:54 <kuribas> seven_three: just put the contraints on the functions.
15:21:12 <dmj`> seven_three: that's what ExistentialQuantification is for
15:21:24 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection)
15:21:40 <kuribas> seven_three: is that "a" missing deliberately?
15:21:59 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
15:22:02 <seven_three> yes the a is missing deliberately
15:22:04 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
15:22:09 <kuribas> that doesn't look very useful
15:22:21 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:22:23 <dmj`> seven_three: don't do it though, hiding type variables in data types raises lots of other problems
15:23:20 <dmj`> kuribas: the canonical usage is like polymorphic lists data PolyShowList = (Show a) => PolyShowList [a], but its not worth it.
15:23:28 <seven_three> ok I will read about GADT's and ExistentialQuantification and then make a decision after
15:23:33 <kuribas> seven_three: Bar will be completely useless, as you cannot access "a".
15:23:48 <kuribas> dmj`: that's also a antipattern most of the cases.
15:24:10 <kuribas> dmj`: since that is isomorphic to [String]
15:24:51 <seven_three> kuribas: How would Bar be useless? `f :: Num a => Foo -> a; f (Bar num) = num + 1`
15:25:01 <merijn> seven_three: Nope
15:25:08 <merijn> seven_three: Can't do that with existentials
15:25:11 <kuribas> seven_three: that will not work
15:25:25 × ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds)
15:25:29 <merijn> seven_three: That code means Bar has *an* instance of Num, but you don't know which
15:26:02 <merijn> seven_three: So you example claims to be able to convert any (unknown) instance of Num into any other Num instance
15:26:08 <merijn> seven_three: That's clearly not possible
15:27:05 <seven_three> ok my whole plan isn't going to work then
15:29:55 <merijn> seven_three: What do you want to do?
15:31:56 lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
15:32:14 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
15:32:18 × dpl quits (~dpl@77-121-78-163.chn.volia.net) (Remote host closed the connection)
15:32:43 dpl joins (~dpl@77-121-78-163.chn.volia.net)
15:33:26 knupfer joins (~Thunderbi@200116b82bdec0008957f7f04f607311.dip.versatel-1u1.de)
15:33:27 × xff0x quits (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7) (Ping timeout: 250 seconds)
15:34:29 Carl6 joins (6bc3aca7@107-195-172-167.lightspeed.oshkwi.sbcglobal.net)
15:34:49 × lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 276 seconds)
15:35:17 xff0x joins (xff0x@gateway/vpn/mullvad/xff0x)
15:35:42 <seven_three> merijn: I have multiple types that are instances of my typeclass and I am trying to unify them into another type. Here is some relevant code: http://dpaste.com/A3KYVGP3G
15:36:29 <dexterfoo> I have an IORef (Maybe Foo) that starts out filled with 'Nothing', but then when it goes to (Just x) I know that it will always be (Just something) and never go back to Nothing. How can I encode this in the type system, so that when functions read from the variable IORef in later stages, they know that it will always have a (Just foo) value?
15:36:40 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Read error: Connection reset by peer)
15:37:10 × codygman` quits (~user@209.251.131.98) (Remote host closed the connection)
15:37:58 <seven_three> I should probably just do: `data Operand = | IntRegOp IntegerRegister | FloatRegOp FloatingRegister | BlahBlah`
15:38:39 <merijn> dexterfoo: eh, are you sure you don't want an MVar?
15:40:28 × redmp quits (~redmp@172.58.22.142) (Ping timeout: 252 seconds)
15:41:19 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-hcuaynfkuabsmonx) (Quit: Connection closed for inactivity)
15:41:30 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
15:43:03 × Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
15:43:53 Kaeipi joins (~Kaiepi@47.54.252.148)
15:44:28 <carbolymer> holy shit profiler is slowing down the code seriously; I'm profiling the code which was finishing in 1hr - with profiling enabled now it's running for 5hrs and it's still a lot left to go
15:45:21 <dexterfoo> merijn: I'm actually using a TVar
15:45:28 Merfont joins (~Kaiepi@47.54.252.148)
15:45:49 × Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
15:45:57 <merijn> carbolymer: It can, yes
15:46:26 <monochrom> People tend to profile 5-minute runs rather than 1-hour runs.
15:46:44 <monochrom> or s/5/O(1)/
15:46:55 <carbolymer> Yay!
15:47:15 <carbolymer> ^ i didn't send that
15:47:33 <merijn> 'twas the cat
15:47:42 <carbolymer> cat the monad
15:48:09 ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
15:50:47 × knupfer quits (~Thunderbi@200116b82bdec0008957f7f04f607311.dip.versatel-1u1.de) (Ping timeout: 250 seconds)
15:52:11 × xff0x quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds)
15:53:01 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
15:54:30 xff0x joins (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7)
15:54:32 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
16:00:56 × vicfred quits (~vicfred@unaffiliated/vicfred) (Remote host closed the connection)
16:01:15 vicfred joins (~vicfred@unaffiliated/vicfred)
16:01:23 Rudd0 joins (~Rudd0@185.189.115.103)
16:01:28 × kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Ping timeout: 276 seconds)
16:02:03 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection)
16:02:35 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
16:04:29 frozenErebus joins (~frozenEre@37.231.244.249)
16:05:16 nineonine joins (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07)
16:05:30 <minoru_shiraeesh> the text-to-speech translator translated the cat's meow as yay
16:06:49 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 250 seconds)
16:07:26 tzh joins (~tzh@24.21.73.154)
16:07:45 <minoru_shiraeesh> a silly joke
16:08:04 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:09:27 × dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds)
16:09:50 <int-e> it went fine until you mixed up text-to-speech and speech-to-text :P
16:12:57 <minoru_shiraeesh> oh no, I ruined it :P
16:13:47 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
16:15:44 × tzh quits (~tzh@24.21.73.154) (Remote host closed the connection)
16:16:29 <minoru_shiraeesh> back to serious business
16:16:35 <minoru_shiraeesh> here is a question
16:16:59 <minoru_shiraeesh> I use ansi-terminal to draw on screen in console application
16:17:17 <minoru_shiraeesh> but it works only if I run it in ghci
16:17:48 <minoru_shiraeesh> when I build and run it, it's not interactive
16:18:21 bitmagie joins (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de)
16:19:02 <minoru_shiraeesh> but when I exit the app, it show the last "frame" in console, so I know it draws, but something is wrong with timing or something like that
16:19:39 Guest6509 joins (~laudiacay@67.176.215.84)
16:19:40 <geekosaur> you need to put the terminal in character mode
16:19:56 <geekosaur> you also need to disable buffering, probably
16:20:10 <geekosaur> hSetBuffering stdout NoBuffering
16:20:12 <minoru_shiraeesh> yes, I applied these settings
16:20:15 <minoru_shiraeesh> hSetBuffering stdin NoBuffering
16:20:17 <minoru_shiraeesh> hSetEcho stdin False
16:20:41 <minoru_shiraeesh> it works okay if I run it from ghci
16:21:52 <geekosaur> in ghci you are already in character mode. although I thought the RTS conflated buffering and terminal modes such that setting NoBuffering on stdin would enable character mode
16:22:16 × ashesham` quits (~user@d8d87d1b0.access.telenet.be) (Ping timeout: 252 seconds)
16:23:41 <minoru_shiraeesh> it works!
16:23:58 × Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 260 seconds)
16:24:02 <minoru_shiraeesh> setting NoBuffering to stdout helped
16:24:06 <minoru_shiraeesh> thanks
16:25:12 <geekosaur> ye, I just tested it here
16:25:45 × Merfont quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
16:26:07 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:27:18 Kaiepi joins (~Kaiepi@47.54.252.148)
16:28:42 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
16:29:46 jakalx joins (~jakalx@base.jakalx.net)
16:31:08 kiweun joins (~kiweun@2607:fea8:2a62:9600:b0f2:adc2:955f:bfd9)
16:33:15 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 260 seconds)
16:35:19 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
16:35:25 × kiweun quits (~kiweun@2607:fea8:2a62:9600:b0f2:adc2:955f:bfd9) (Ping timeout: 250 seconds)
16:36:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
16:39:27 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:40:13 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection)
16:41:56 × Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving)
16:42:51 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
16:43:21 dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c)
16:46:42 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
16:47:33 olabaz joins (~olabian@ool-2f1268f1.dyn.optonline.net)
16:51:47 <olabaz> hi, I'm new to haskell. what is the use case for haskell? Is it something I would use for writing an OS, low level systems programs, embedded? Is it something I would use for numerical computing or maybe low latency requirements? Does it have a niche where it shines?
16:52:11 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
16:53:25 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 252 seconds)
16:54:00 <raehik> olabaz: it has a few niches, generally good when you have data that needs transforming
16:54:16 L29Ah joins (~L29Ah@unaffiliated/l29ah)
16:54:20 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:54:43 × dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 248 seconds)
16:54:43 <raehik> it's a very very general purpose language so you can do whatever. but it's not so great for systems programming where you want/need to do manual memory management
16:55:26 dmytrish joins (~mitra@37.228.247.154)
16:56:03 <juri_> olabaz: I use it for 3d modelling, and running 3d printers.
16:56:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:57:26 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
16:57:59 <olabaz> I see, thanks.
16:58:14 <kuribas> olabaz: none of those
16:58:31 <kuribas> olabaz: in fact, I'd say for most problems, except those you mentioned :)
16:58:51 <olabaz> haha, interesting
17:00:05 × malumore quits (~malumore@151.62.127.162) (Ping timeout: 268 seconds)
17:00:32 <olabaz> Any big corporations using Haskell in production?
17:00:43 <kuribas> yes
17:01:33 × kuribas quits (~user@ptr-25vy0i7jci8m8wg4e6i.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
17:01:35 <geekosaur> I could see it being used for the OS component of a microkernel, with the memory management coming from a C-based microservice
17:01:43 jrp joins (0550efe4@5.80.239.228)
17:02:13 <juri_> olabaz: facebook, for one.
17:02:18 <olabaz> how are they using it?
17:02:41 <juri_> they have some system that uses haskell to write php, from what i can tell.
17:04:48 <dexterfoo> olabaz: Haskell is a general purpose high level programming language. You could use it as an alternative to Java/C#/Python/Ruby/etc...
17:05:00 <geekosaur> weren't they also using it for their spam detection stuff?
17:06:16 <dexterfoo> It is less suitable for level OS programming or embedded programming. (although with effort it can be done, just like with Java/Python/C#)
17:08:44 × mason_ quits (~bc8134e3@1582020-static.lxtnkya3.metronetinc.net) (Quit: CGI:IRC (Session timeout))
17:09:39 × ericsagnes quits (~ericsagne@2405:6580:0:5100:2722:6cc:f3d:a92d) (Ping timeout: 260 seconds)
17:12:19 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
17:15:25 <jrp> Hi, a design pattern / idiom question ... I am writing a mini Forth interpreter.
17:15:40 <jrp> The core type is a State monad that carries the stacks, dictionary, etc
17:15:50 <jrp> -- | An instruction, the implementation of a /word/.
17:15:59 <jrp> type Forth w a r = CME.ExceptT VMSignal (StateT (VM w a) IO) r
17:16:09 <jrp> -- | The result of interpreting an instruction: Left = exit, Right () = continue
17:16:18 <jrp> type ForthStep w a = Forth w a (Either () ())
17:16:30 <jrp> next :: ForthStep w a
17:16:39 <jrp> next = return $ Right ()
17:16:49 <jrp> exit :: ForthStep w a
17:16:57 <jrp> exit = return $ Left ()
17:17:06 <jrp> forthBlock :: [ForthStep w a] -> ForthStep w a
17:17:07 <geekosaur> a pastebin might e more appropriate
17:17:13 <geekosaur> @where paste
17:17:14 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
17:17:59 <jrp> https://paste.tomsmeding.com/wpCgSxV1
17:18:18 <jrp> My questions:
17:18:26 sophie_ joins (~sophie@117.222.66.195)
17:18:27 <jrp> * Is Either () () the best way of representing exit / next execution choices or is there a better idiom?
17:18:36 <jrp> * Is there a more idiomatic way of writing forthBlock, which is intended to exit from interpreting the current list of instructions, retaining what has been sone so far, perhaps as some sort of fold?
17:20:28 <monochrom> Either () () is the 2nd worst way.
17:20:32 <geekosaur> the Either looks to me like a verbose way of writing a Bool, or maybe a type: data Result = Stop | Continue
17:20:37 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
17:20:46 <monochrom> The best way is defining your own algebraic data type.
17:21:03 <monochrom> Especially since you also get to choose meaningful names.
17:21:22 <raehik> what's the 1st worst way! Just () ? haha
17:21:30 <monochrom> Bool
17:21:41 <geekosaur> probably Bool, since it has too many other possible meanings
17:22:07 ericsagnes joins (~ericsagne@2405:6580:0:5100:243e:56b2:17ce:1eff)
17:22:57 <monochrom> forthBlock is a foldr.
17:23:15 <jrp> OK but if I define my own ADT will I not have to write a bunch of Functor, Monad , etc, instances?
17:23:17 <monochrom> But I don't know which one is more idiomatic. Using foldr or writing your own recursion.
17:23:26 <monochrom> People can fight religious wars on that.
17:24:03 <monochrom> Where are you using Either() as a Functor or Applicative or Monad?
17:25:10 stree joins (~stree@68.36.8.116)
17:26:41 zva joins (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de)
17:26:53 <jrp> Probably nowhere at present unless there is some better forthBlock that could use it.  Is it really a foldr, as the Left () case returns a Right ()
17:27:27 <gnumonic> the compiler can derive a lot of classes for you if you do need the instances fwiw
17:27:40 <geekosaur> doesn't seem to be much room for any of those instances since Either () () carries only one piece of information
17:27:51 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
17:27:51 × HiRE quits (~HiRE@104.128.237.40) (Ping timeout: 250 seconds)
17:27:55 <geekosaur> and Functor and Applicative just pass that through
17:28:25 <jrp> Maybe () won't work at it will throw away the computations so far on hitting a Nothing
17:28:57 <monochrom> Either()() is Bool. No one asks how to make Bool a Functor.
17:28:59 jakalx joins (~jakalx@base.jakalx.net)
17:29:57 jneira[m] joins (~jneira@20.red-176-83-69.dynamicip.rima-tde.net)
17:30:03 <geekosaur> and Maybe () has no computations to throw away
17:30:17 <jrp> OK, so suppose we have data StepResult = Next | Exit deriving ...
17:30:31 <monochrom> forthBlock = foldr (\i r -> i >>= either (\_ -> next) (\_ -> r)) next
17:31:03 <geekosaur> you're confusing the Forth monad with one of the pieces of information it carries.
17:32:05 <jrp> geekosaur of one of the ForthBlock steps produces a Nothing (exit) the whole block produces Nothing, rather than Just ()
17:32:06 <geekosaur> now, you do have to worry about whether the ExceptT throws away the inner StateT on exception
17:32:28 lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
17:32:35 <jrp> Ah
17:32:51 <geekosaur> what'[s the difference between Nothing and Left () or False?
17:34:00 <geekosaur> there's no extra content to be thrpown away. the actual result you want is probably inside the StateT (VM w a), which sticks around regardless of what value it's attached to
17:34:47 × lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
17:35:32 <jrp> Ah yes, sorry.  I think that I'd tried forthBlock = foldl1 (>>) earlier on and it didn't work
17:36:02 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Quit: Leaving)
17:38:40 <jrp> The other approach that I'd contemplated was using the Continuation monad, but that looked fairly forbidding
17:39:56 <minoru_shiraeesh> one naive and primitive approach to implement early returning is having a flag in your StateT indicating whether it is in "early-return" mode or not.
17:40:17 <minoru_shiraeesh> if it is, then it does nothing with the current statement
17:41:05 <geekosaur> push the ExceptT down inside the StateT so an exception doesn't throw away the VM, then have exit be a specific exception value
17:42:05 <jrp> minoru_shiraeesh  Yes, I had that and it seemed to work OK, but was interested in exploring alternativess
17:42:31 × jneira[m] quits (~jneira@20.red-176-83-69.dynamicip.rima-tde.net) (Remote host closed the connection)
17:44:05 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:44:33 × jespada quits (~jespada@87.74.37.248) (Quit: Leaving)
17:45:06 × dmytrish quits (~mitra@37.228.247.154) (Ping timeout: 240 seconds)
17:45:20 <jrp> geekosaur to turn the Forth type inside out.  I'll have a look.  At present it works quite well (you can type ^C and stop an execution or forked VM
17:45:53 <monochrom> geekosaur: I think you got it the other way round
17:45:53 earthy joins (~arthurvl@deban2.xs4all.space)
17:45:57 <monochrom> @unmtl ExceptT E (StateT S IO)
17:45:57 <lambdabot> err: `ExceptT E (StateT S IO)' is not applied to enough arguments, giving `/\A. S -> IO (Either E A, S)'
17:45:59 <geekosaur> probably
17:46:00 <monochrom> err
17:46:02 <monochrom> @unmtl ExceptT E (StateT S IO) a
17:46:02 <lambdabot> S -> IO (Either E a, S)
17:46:21 <geekosaur> yeh, ok, I reversed them again
17:46:22 <monochrom> That's how to have S either way. (Pun intended!)
17:46:58 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:48:08 <monochrom> Nice, unmtl knows about Λ
17:48:27 <monochrom> Does unmtl use System F? :)
17:48:53 <jrp> @unmtl ExceptT VMSignal (StateT (VM w a) IO) r
17:48:53 <lambdabot> VM w a -> IO (Either VMSignal r, VM w a)
17:49:08 sophie_ parts (~sophie@117.222.66.195) ()
17:51:37 <jrp> Not sure I follow
17:52:16 <monochrom> The other way round would be:
17:52:22 <jrp> What would the other way around version look like
17:52:29 <monochrom> @unmtl StateT S (ExceptT E IO) a
17:52:29 <lambdabot> S -> IO (Either E (a, S))
17:52:30 juuandyy joins (~juuandyy@90.106.228.121)
17:53:30 <jrp> gotcha
17:55:33 knupfer joins (~Thunderbi@i577BCD4D.versanet.de)
17:57:40 <jrp> And to complete the argument, adding something to my E type ( data VMSignal = VMEOF | VMNoInput | VMError String | VMExit | VMContinue) would allow me to use Exception to control program flow beyond  handling Exceptions
17:58:42 <jrp> Cool.  What does my forthBlock look like under this model?
17:59:06 <geekosaur> you don't even need VMContinue there, it'd be the Right instead of the Left.
17:59:36 × carlomagno quits (~cararell@148.87.23.4) (Remote host closed the connection)
17:59:52 <monochrom> Or you never needed your Either()().
18:00:28 carlomagno joins (~cararell@148.87.23.4)
18:00:32 <monochrom> And never need VMContinue, ExceptT already does that.
18:00:48 <jrp> Even cooler
18:00:51 my_name_is_not_j joins (mynameisno@gateway/shell/matrix.org/x-hhwvpqfmykooxqsa)
18:01:38 <minoru_shiraeesh> maybe it's the continue that invoke inside a loop
18:02:20 <monochrom> Ah geekosaur was saying what I just said.
18:03:03 <minoru_shiraeesh> but usually you also have a break keyword in addition to continue
18:03:08 lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
18:03:23 × lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
18:03:36 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
18:03:44 <monochrom> minoru_shiraeesh, does Forth have a break keyword?
18:03:51 <minoru_shiraeesh> idk
18:03:57 DTZUZU joins (~DTZUZO@205.ip-149-56-132.net)
18:04:04 <monochrom> Thought so.
18:04:08 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 265 seconds)
18:05:00 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-aupqwvyiwubojerx)
18:05:11 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
18:05:54 <minoru_shiraeesh> that's what I'm saying, I'm not sure what that "continue" mean, but seems unlikely that it's a loop's continue
18:06:09 <monochrom> It means the "next" in the old version.
18:06:25 × nineonine quits (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07) (Ping timeout: 250 seconds)
18:06:47 × LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection)
18:06:50 <wroathe> So I'm working on an HTML parser, serializer, and validator that may or may not see the light of day, but one of the thoughts that's been in the back of my head with the API is the old debate between String, Text, and ByteString. Some libraries make their functions polymorphic with the IsString constraint to allow the user to choose the string-like type that they're working with, and others opt for
18:06:50 nineonine joins (~nineonine@50.216.62.2)
18:06:56 <wroathe> ByteString only, and others still opt for individual functions for each type of string they support. Does any of you have strong opinions on this debate?
18:07:51 lawr3nce joins (~lawr3nce@gateway/tor-sasl/lawr3nce)
18:09:00 <monochrom> And there is also a debate on "when you say that, do you mean the input? do you mean the output?"
18:09:18 <int-e> wroathe: It's an awful debate ;-)
18:09:30 <wroathe> int-e: Why?
18:09:30 <jrp> No, but it has internally an ?exit keyword, so if I run a block, I can bail before completing it  (so yes, break).  The break should not, however, propagate.  Execution should continue to the next word in the calling block.  Is there a neat forthBlock that achieves that?
18:10:07 HiRE joins (~HiRE@2602:ffc5:20::1:512e)
18:10:09 <monochrom> ExceptT has a try-catch mechanism.
18:10:09 dpl joins (~dpl@77-121-78-163.chn.volia.net)
18:10:16 <int-e> wroathe: So many strong opinions.
18:10:20 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:10:22 <wroathe> monochrom: Mind elaborating?
18:10:47 <monochrom> Your parser takes an input and emits an output.
18:11:25 <monochrom> The debate for "input should use String vs ByteString vs Text" is very different from the debat for "output should use String vs ByteString vs Text". In fact the opposite debate.
18:13:03 <wroathe> monochrom: Well, AIUI the best for efficiency would be ByteString both ways, but if Haskell makes allowing the user to choose which string type they want to work with relatively easy, why not just IsString everything?
18:13:44 <monochrom> Clearly, IsString only covers one end, I forgot which.
18:14:11 <maerwald> :t fromString
18:14:12 <lambdabot> error:
18:14:12 <lambdabot> • Variable not in scope: fromString
18:14:13 <lambdabot> • Perhaps you meant one of these:
18:14:24 <monochrom> And I suspect that a truly general API would be polymorphic in both input and output but independently.
18:14:36 <int-e> HTML is messy anyway... ideally you should be told the encoding (and then the answer is fairly straightforward, you'd want Text for the parsing part), but sometimes you don't and need to find a charset declaration of some sorts... probably treating the input as something byte-based like latin1 up to that point.
18:14:48 <maerwald> @hoogle fromString
18:14:49 <lambdabot> Data.String fromString :: IsString a => String -> a
18:14:49 <lambdabot> GHC.Exts fromString :: IsString a => String -> a
18:14:49 <lambdabot> Data.Text.Internal.Builder fromString :: String -> Builder
18:14:52 <jrp> monochrom so I need to try, catch, rethrow other than VMExit?
18:15:06 <monochrom> yes
18:15:54 <monochrom> Or don't use ExceptT. Define your own type that's like ExceptT but better.
18:15:54 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
18:15:58 lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
18:16:09 <MrMobius> jrp, what is the forth for?
18:16:10 timCF joins (~i.tkachuk@m91-129-104-226.cust.tele2.ee)
18:16:19 <monochrom> ExceptT has two cases, but nothing says you can't plagiarize it and add one more case.
18:17:00 × juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!)
18:17:45 <wroathe> int-e: Yeah, I'm just digging into the parser design right now and encoding was something that I figured would throw a wrench into this high level plan
18:18:12 juuandyy joins (~juuandyy@90.106.228.121)
18:18:33 × lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
18:18:56 <jrp> MrMobius in my case an exercise, but it's normally used for programming fpgas or other low-level devices.  It's low overhead, fast and easy to bootstrap onto new devices
18:19:11 <int-e> wroathe: For sanity it's probably best to seaparate the part that guesses the encoding from the actual parsing.
18:19:14 <monochrom> Early experience proved that if you use String in the output, it takes too much space. No one would debate against that.
18:19:14 LKoen joins (~LKoen@11.160.9.109.rev.sfr.net)
18:19:21 <timCF> Hello! Is expression `a <|> b <|> c` lazy evaluated in case where every part is `ExceptT e m a` where `m` is some IO-like monad with side effects? I mean let's say `a` returned Left, then `b` returned Right. Will side-effects of `c` evaluated in this case?
18:19:27 <wroathe> int-e: Yup. That was exactly my thinking.
18:19:44 <int-e> monochrom: Well, unless it's consumed (written to a file, say) on the spot...
18:19:53 <monochrom> The rest of the debate seems to be simply, as usual, people disagreeing on even what "HTML parser" means.
18:20:02 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
18:20:09 <wroathe> monochrom: Yeah, the main purpose of allowing for String was for ease of repl experimentation
18:20:20 × vv8 quits (~egp_@2.95.117.163) (Quit: EXIT)
18:20:36 <int-e> (IME, when data is basically streamed, String works much better than most people think.)
18:20:47 <jrp> monochrom  I may end up writing an alternative ExceptT but I was trying to build on the existing ecosystem (hence the desire to use folds or other existing apparatus
18:20:52 <int-e> But *storing* text chunks as String is costly.
18:20:58 × bitmagie quits (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de) (Quit: bitmagie)
18:21:13 <monochrom> Just for starters: HTML5 seems to say that the encoding can still be indeterminate until you read something in the header. But there are people who don't share this view.
18:21:14 redmp joins (~redmp@172.58.35.164)
18:21:16 <Clint> jrp: not sure what you're trying to do but ChronicleT is like ExceptT with a third case
18:21:46 <monochrom> Right there you can have a "debate" on ByteString vs Text and it's just because people disagree on "should you assume an encoding before you start?"
18:23:25 <monochrom> As usual, the correct answer is "it depends".
18:23:53 <wroathe> monochrom: Valid points. I guess I can't punt on thinking about the encoding piece of this any longer, as it's all integrated.
18:24:09 <monochrom> Some people write an HTML parser for scraping. In this case you don't assume an encoding, and you don't decode either, you can stay ByteString.
18:24:36 <monochrom> Some other people write an HTML parser because they're writing a web browser. They have the opposite stake.
18:24:42 <jrp> Thanks Clint  I'm trying to run a sequence of actions one of which might be a conditional break/exit   I'll have a look at Chronicle
18:24:55 <wroathe> monochrom: I don't quite follow why scraping would be different than browser parsing
18:25:11 <wroathe> monochrom: As far as I see, you'd want your parser to handle multiple encodings, regardless
18:25:43 <wroathe> monochrom: I'll likely "assume" utf-8, until I see evidence that they want something else.
18:25:49 <monochrom> "never decode" counts as succeeding with multiple encodings, including even invalid encodings?
18:26:11 <wroathe> monochrom: "never decode"?
18:26:40 nut` joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
18:27:03 <monochrom> Suppose I just want to look for <span class="foo">...</span> and save the "..." in a file and let someone else interpret the "..."?
18:27:25 <wroathe> monochrom: Well, even attribute values would be subject to encoding, would they not?
18:27:35 <wroathe> monochrom: (I'm in the process of reading the spec on this as we speak)
18:28:03 <monochrom> In practice people stick to ascii for class="foo".
18:28:06 <wroathe> monochrom: But even locating the sequence <span would be subject to encoding
18:28:13 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
18:28:24 <wroathe> monochrom: Even if multiple encodings share that same byte sequence
18:28:30 × nut` quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
18:28:44 <wroathe> monochrom: Sure, but in practice most people use utf-8, and so I wouldn't even need to handle other encodings
18:28:52 <wroathe> monochrom: If all we're talking is practice
18:29:13 <monochrom> In practice, what I have seen:
18:29:22 <monochrom> 1. tags are always in ascii
18:29:32 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
18:29:39 <jrp> Thanks for your suggestions monochrom minoru_shiraeesh geekosaur
18:29:40 <monochrom> 2. people can declare one encoding and use another
18:29:40 <hyperisco> what encodings are you running into that are not compatible with ASCII?
18:29:47 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
18:29:58 <maerwald> there's a way to auto-detect encoding
18:30:02 <wroathe> monochrom: #2 is a really good point
18:30:08 olabaz parts (~olabian@ool-2f1268f1.dyn.optonline.net) ("WeeChat 2.3")
18:31:24 <maerwald> https://hackage.haskell.org/package/charsetdetect-1.1.0.2
18:31:29 <monochrom> 0. The overarching observation: people cargo-cult from other people and never actually read the spec like you do
18:31:44 <maerwald> there was a newer one
18:31:59 <monochrom> this is why they don't know that class="λ" is a thing.
18:32:03 <wroathe> maerwald: That's awesome. Thanks for the link.
18:32:12 <hyperisco> if only there was a way to detect when a JSON or XML document was served with text/html media type
18:32:44 <monochrom> this is why they declare one encoding then use another. Their editor is set to the latter, but they plagiarize from an HTML file that uses the former.
18:33:15 <wroathe> hyperisco: Well, the JSON detection is a bit easier to do
18:33:26 lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
18:33:32 <wroathe> hyperisco: Because < isn't the beginning of a valid JSON token
18:33:45 <wroathe> hyperisco: And for XML it would require more advanced heuristics
18:34:02 <wroathe> hyperisco: Like detecting if there's an XML DTD
18:34:39 <hyperisco> well you better get on it because there are PHP backends serving the wrong media type everywhere
18:34:48 <wroathe> hyperisco: hahahaha
18:35:46 <maerwald> wroathe: https://hackage.haskell.org/package/charsetdetect-ae
18:35:49 <maerwald> there's another one
18:35:53 × lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
18:38:07 × juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!)
18:38:47 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:39:02 juuandyy joins (~juuandyy@90.106.228.121)
18:39:14 <dexterfoo> I added "HasCallStack" constraint to my function. Now my function calls itself (tail-)recursively. When I print the callstack i see all of the recursive calls. How can I make the function recursively call itself without adding another stack frame? freezing the callstack doesn't work because then when I call other functions I don't get the added stackframes
18:41:54 kritzefitz joins (~kritzefit@212.86.56.80)
18:42:32 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
18:43:47 <geekosaur> dexterfoo, delegate the recursive call to a subfunction? foo x y z = go x y z where go a b c = ... (and no HasCallStack constraint)
18:44:46 <dexterfoo> geekosaur: thanks, i will try
18:46:50 kiweun joins (~kiweun@2607:fea8:2a62:9600:683e:b1da:22d6:55f2)
18:47:11 seven_three parts (~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)")
18:48:35 titusg joins (~user@2a00:23c6:ab80:c700:766e:b64a:8e02:8707)
18:50:58 lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
18:51:03 × kiweun quits (~kiweun@2607:fea8:2a62:9600:683e:b1da:22d6:55f2) (Ping timeout: 250 seconds)
18:52:32 × clynamen quits (~clynamen@net-93-66-1-11.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in)
18:53:43 × lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 276 seconds)
18:54:56 clynamen joins (~clynamen@net-93-66-1-11.cust.vodafonedsl.it)
19:00:15 Guest6509 joins (~laudiacay@67.176.215.84)
19:04:36 × philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:04:41 × Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds)
19:05:03 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 252 seconds)
19:05:18 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:06:50 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
19:08:16 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
19:08:48 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
19:10:01 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
19:10:29 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
19:12:13 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
19:12:24 malumore joins (~malumore@151.62.127.162)
19:12:51 × koluacik quits (~koluacik@134.122.28.77) (Ping timeout: 248 seconds)
19:13:46 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
19:14:01 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
19:14:16 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection)
19:14:20 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:14:34 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
19:14:38 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
19:14:54 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
19:16:17 koluacik joins (~koluacik@134.122.28.77)
19:17:35 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
19:21:51 × rajivr quits (uid269651@gateway/web/irccloud.com/x-llmsuyffzjhsmytj) (Quit: Connection closed for inactivity)
19:22:20 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:27:12 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
19:27:56 Synthetica joins (uid199651@gateway/web/irccloud.com/x-jigmslouldxhdupx)
19:28:32 __minoru__shirae joins (~shiraeesh@46.34.206.138)
19:28:43 × minoru_shiraeesh quits (~shiraeesh@46.34.206.15) (Ping timeout: 252 seconds)
19:31:37 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
19:32:39 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
19:33:33 × stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds)
19:35:16 __monty__ joins (~toonn@unaffiliated/toonn)
19:38:12 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
19:39:58 Lycurgus joins (~niemand@98.4.118.65)
19:40:05 × juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!)
19:41:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
19:41:50 lawr3nce_ joins (~lawr3nce@gateway/tor-sasl/lawr3nce)
19:42:32 dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c)
19:42:45 × lawr3nce quits (~lawr3nce@gateway/tor-sasl/lawr3nce) (Ping timeout: 240 seconds)
19:46:29 stree joins (~stree@68.36.8.116)
19:46:45 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
19:46:59 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
19:49:26 lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
19:51:52 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
19:52:05 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
19:52:09 × lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
19:52:40 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:56:32 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
19:59:02 CrazyPython joins (~crazypyth@98.122.164.118)
19:59:24 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
20:00:39 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
20:00:55 × dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 260 seconds)
20:01:06 × roconnor quits (~roconnor@host-45-58-225-218.dyn.295.ca) (Ping timeout: 265 seconds)
20:02:04 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 265 seconds)
20:03:12 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:03:28 roconnor joins (~roconnor@host-45-58-225-218.dyn.295.ca)
20:03:40 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:03:47 Lord_of_Life_ is now known as Lord_of_Life
20:04:04 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
20:04:07 jijimofo joins (~cmo@S010610561191f5d6.lb.shawcable.net)
20:04:15 × lawr3nce_ quits (~lawr3nce@gateway/tor-sasl/lawr3nce) (Remote host closed the connection)
20:05:27 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 265 seconds)
20:05:46 × xff0x quits (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7) (Ping timeout: 245 seconds)
20:06:45 xff0x joins (~xff0x@2001:1a81:52f5:ac00:2560:bbed:ada5:1f88)
20:06:45 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
20:07:42 petersen joins (~petersen@redhat/juhp)
20:07:49 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
20:09:32 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
20:10:23 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
20:10:28 lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9)
20:12:12 × malumore quits (~malumore@151.62.127.162) (Ping timeout: 240 seconds)
20:12:57 × lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
20:15:06 × __minoru__shirae quits (~shiraeesh@46.34.206.138) (Ping timeout: 240 seconds)
20:22:31 × jrp quits (0550efe4@5.80.239.228) (Quit: Connection closed)
20:25:00 × xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:25:45 × DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
20:28:56 lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:bc81:7608:42a7:e76a)
20:29:50 × akulkarn` quits (~user@aputeaux-652-1-270-231.w90-43.abo.wanadoo.fr) (Ping timeout: 246 seconds)
20:31:35 × lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds)
20:31:45 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
20:34:14 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
20:34:18 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
20:34:46 jao joins (~jao@pdpc/supporter/professional/jao)
20:36:41 xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu)
20:37:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:37:50 × alx741 quits (~alx741@186.178.109.231) (Ping timeout: 265 seconds)
20:41:33 × Kaiepi quits (~Kaiepi@47.54.252.148) (Ping timeout: 260 seconds)
20:43:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
20:43:15 pavonia joins (~user@unaffiliated/siracusa)
20:44:57 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
20:47:06 × nan` quits (~nan`@unaffiliated/nan/x-5405850) (Ping timeout: 240 seconds)
20:47:30 × nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection)
20:47:30 kiweun joins (~kiweun@2607:fea8:2a62:9600:606d:f242:39c4:3d4e)
20:50:30 alx741 joins (~alx741@181.196.69.117)
20:51:11 Kaiepi joins (~Kaiepi@47.54.252.148)
20:51:57 × kiweun quits (~kiweun@2607:fea8:2a62:9600:606d:f242:39c4:3d4e) (Ping timeout: 250 seconds)
20:53:39 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:54:18 × chele quits (~chele@5.53.222.202) (Remote host closed the connection)
20:56:01 nan` joins (~nan`@unaffiliated/nan/x-5405850)
20:57:46 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
20:59:44 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
21:00:04 × Carl6 quits (6bc3aca7@107-195-172-167.lightspeed.oshkwi.sbcglobal.net) (Quit: Connection closed)
21:01:54 dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c)
21:02:52 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
21:03:31 jamm_ joins (~jamm@unaffiliated/jamm)
21:05:21 × timCF quits (~i.tkachuk@m91-129-104-226.cust.tele2.ee) (Quit: leaving)
21:05:59 Codaraxis__ joins (~Codaraxis@92.223.89.199)
21:06:32 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
21:07:42 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
21:08:24 <jijimofo> have there been attempts at verify ghc akin to the compcert project?
21:09:05 <jijimofo> have been thinking about doing a verified haskell project but im a beginner in mechanical logic
21:12:07 nut` joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
21:12:41 × Lycurgus quits (~niemand@98.4.118.65) (Quit: Exeunt)
21:15:57 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
21:15:58 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:17:39 <monochrom> No.
21:18:25 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds)
21:18:26 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
21:20:16 × stree quits (~stree@68.36.8.116) (Quit: Caught exception)
21:20:40 stree joins (~stree@68.36.8.116)
21:21:13 × knupfer quits (~Thunderbi@i577BCD4D.versanet.de) (Ping timeout: 260 seconds)
21:22:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:30:17 <maerwald> unlikely to happen, imo
21:30:32 <maerwald> check out CakeML
21:30:36 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
21:31:35 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
21:31:42 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
21:33:07 × titusg quits (~user@2a00:23c6:ab80:c700:766e:b64a:8e02:8707) (Ping timeout: 248 seconds)
21:35:52 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
21:38:00 seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net)
21:38:43 × nut` quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Read error: No route to host)
21:39:49 nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832)
21:41:17 <NemesisD> given `data MyRec = R { age :: Int }` and a formatting string "Your age is {name}" :: Text and maybe a typeclass that gives me `toT :: a -> Text`, would it be possible using Generic/Data to write an interpolation function that takes each field by name, applies `toT` and fills the placeholder? or do i need TH for that?
21:41:42 kiweun joins (~kiweun@2607:fea8:2a62:9600:5994:3900:4bf6:3fc2)
21:43:26 seven_three parts (~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)")
21:44:51 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:45:22 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
21:45:39 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
21:46:54 × coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
21:47:44 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
21:48:02 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
21:48:20 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
21:48:24 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
21:50:40 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
21:52:20 elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
21:52:36 Kaiepi joins (~Kaiepi@47.54.252.148)
21:55:45 × michalz quits (~user@185.246.204.61) (Remote host closed the connection)
21:56:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
21:56:38 × elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
21:56:53 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
21:57:31 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
21:59:47 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds)
22:02:33 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
22:02:55 Kaiepi joins (~Kaiepi@47.54.252.148)
22:03:22 × Guest94131 quits (~textual@zrcout.mskcc.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:07:18 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
22:09:09 × jijimofo quits (~cmo@S010610561191f5d6.lb.shawcable.net) (Quit: Leaving)
22:13:10 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
22:13:41 Tario joins (~Tario@201.192.165.173)
22:15:00 Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e)
22:16:46 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 240 seconds)
22:17:36 × fendor quits (~fendor@178.115.128.219.wireless.dyn.drei.com) (Remote host closed the connection)
22:19:06 × Lowl3v3l quits (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
22:20:24 Alleria joins (~textual@2603-7000-3040-0000-5566-884b-fd9b-56dc.res6.spectrum.com)
22:20:26 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
22:20:26 × Guest_92 quits (7a3b26e8@122-59-38-232-adsl.sparkbb.co.nz) (Quit: Connection closed)
22:20:47 Alleria is now known as Guest48627
22:20:57 Kaiepi joins (~Kaiepi@47.54.252.148)
22:21:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
22:21:41 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
22:29:19 <carbolymer> it finally completed! 10hrs instead on 1hr
22:29:36 <carbolymer> of*
22:29:39 × Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 252 seconds)
22:29:39 × dunj3 quits (~dunj3@2001:16b8:30e8:aa00:6400:c54b:6c37:a59c) (Remote host closed the connection)
22:30:33 × chomwitt quits (~alexander@2a02:587:dc0a:2700:dc6:16ac:a95:eabf) (Ping timeout: 246 seconds)
22:31:41 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 260 seconds)
22:33:31 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
22:34:02 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
22:34:07 <monochrom> yikes
22:34:29 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
22:36:27 wroathe joins (~wroathe@68.54.25.135)
22:36:53 <nut> I have a file outside of any cabal or stack project and i'm using emacs as repl. How to import packages such as lens?
22:37:06 × litenull quits (~litenull@37.120.211.188) (K-Lined)
22:38:11 <nut> C-c C-r, when i do the reload, the ghci complains that it couldn't load or find the package
22:39:22 Narinas joins (~Narinas@187.178.93.112)
22:40:02 <cjay> there is a way to do magic comments for cabal for scripts. not sure about loading them in ghci though, maybe cabal repl works outside of a project on that.
22:41:05 × wroathe quits (~wroathe@68.54.25.135) (Ping timeout: 246 seconds)
22:41:13 <sclv> nut: cabal-repl —build-depends
22:41:41 <sclv> with the depss following the flag
22:41:55 <sclv> have emacs call that instead of raw ghci
22:42:06 <sclv> or learn the ways of cabal-env
22:43:53 × paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
22:43:54 <nut> thx!
22:44:46 <cjay> hmm the comment syntax is {- cabal: ... -} and then things liki build-depends: in that
22:45:06 <cjay> but I can't get cabal repl do anything with that, it's just for running :/
22:48:19 aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
22:54:13 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
22:55:24 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 246 seconds)
22:56:37 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
22:58:04 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
23:00:46 × tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds)
23:01:59 × dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 260 seconds)
23:02:57 RandomArcher joins (~RandomArc@145.249.23.89)
23:03:32 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
23:03:40 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
23:04:11 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
23:05:18 SynOps joins (~SynOps@185.204.1.185)
23:05:44 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:06:31 × zva quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
23:06:55 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:07:38 × LKoen quits (~LKoen@11.160.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:10:10 × CrazyPython quits (~crazypyth@98.122.164.118) (Remote host closed the connection)
23:10:35 bennofs_ joins (~quassel@dynamic-077-013-079-233.77.13.pool.telefonica.de)
23:11:58 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
23:12:01 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 252 seconds)
23:12:14 tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr)
23:14:35 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
23:15:28 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
23:15:47 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
23:19:18 hexfive joins (~hexfive@50.35.83.177)
23:19:18 × hexfive quits (~hexfive@50.35.83.177) (Client Quit)
23:20:23 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
23:20:46 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
23:23:37 × aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds)
23:25:11 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
23:28:31 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
23:30:09 × son0p quits (~ff@181.136.122.143) (Remote host closed the connection)
23:30:25 × idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection)
23:30:30 tanner_ joins (~tanner@216.106.138.184)
23:30:50 idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net)
23:31:02 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
23:32:35 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:33:59 jakalx joins (~jakalx@base.jakalx.net)
23:40:27 stree joins (~stree@68.36.8.116)
23:40:35 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
23:41:38 × RandomArcher quits (~RandomArc@145.249.23.89) (Ping timeout: 246 seconds)
23:42:01 RandomArcher joins (RandomArch@gateway/vpn/protonvpn/randomarcher)
23:42:43 quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
23:45:51 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:50:26 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
23:51:41 machinedgod joins (~machinedg@24.105.81.50)
23:51:52 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
23:52:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:53:43 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:58:05 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)

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