Home liberachat/#haskell: Logs Calendar

Logs on 2021-06-22 (liberachat/#haskell)

00:00:28 troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua)
00:00:59 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
00:01:13 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:04:00 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:05:34 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:06:23 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
00:07:52 hmmmas joins (~chenqisu1@183.217.200.246)
00:08:33 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:10:06 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:10:34 fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
00:12:12 nineonine joins (~nineonine@50.216.62.2)
00:12:37 × thyriaen quits (~thyriaen@45.178.73.238) (Quit: Leaving)
00:12:48 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:14:22 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:15:52 × hololeap quits (hololeap@user/hololeap) (Quit: Bye)
00:17:10 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:17:23 × tomsmeding quits (~tomsmedin@2a03:b0c0:0:1010::767:3001) (Quit: ZNC 1.8.2 - https://znc.in)
00:17:37 justsomeguy joins (~justsomeg@user/justsomeguy)
00:17:42 tomsmeding joins (~tomsmedin@tomsmeding.com)
00:18:43 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:19:09 killsushi_ joins (~killsushi@2607:fea8:3d40:767:f4b9:4189:73f1:3f28)
00:19:09 × killsushi_ quits (~killsushi@2607:fea8:3d40:767:f4b9:4189:73f1:3f28) (Changing host)
00:19:09 killsushi_ joins (~killsushi@user/killsushi/x-5912268)
00:20:17 × Nahra quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection)
00:21:04 ddellacosta joins (~ddellacos@86.106.121.100)
00:21:36 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:22:25 × killsushi quits (~killsushi@user/killsushi) (Ping timeout: 244 seconds)
00:23:11 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:25:34 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
00:25:41 efvincent-007 joins (~efvincent@71.69.232.38)
00:25:57 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:27:13 × tremon quits (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
00:27:32 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:30:29 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:31:44 lavaman joins (~lavaman@98.38.249.169)
00:32:03 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:35:04 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:35:06 × acid quits (~acid@user/acid) (Ping timeout: 264 seconds)
00:35:15 acid joins (~acid@user/acid)
00:35:31 × p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
00:35:47 p3n joins (~p3n@217.198.124.246)
00:35:54 × V quits (~v@anomalous.eu) (Remote host closed the connection)
00:36:25 × efvincent-007 quits (~efvincent@71.69.232.38) (Ping timeout: 246 seconds)
00:36:29 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
00:36:37 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:36:53 × NieDzejkob quits (~quassel@195.149.98.3) (Ping timeout: 244 seconds)
00:37:04 NieDzejkob joins (~quassel@195.149.98.3)
00:37:19 V joins (~v@anomalous.eu)
00:37:28 × is7s quits (~is7s@2a01:4b00:895f:3d00:3d61:e4ff:2003:3c7) (Ping timeout: 246 seconds)
00:38:58 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:8de:a8d1:83fb:c4a6) (Read error: Connection reset by peer)
00:39:36 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:41:09 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:41:42 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
00:41:47 hololeap joins (hololeap@user/hololeap)
00:42:34 × hiruji quits (~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6) (Ping timeout: 244 seconds)
00:44:09 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:45:44 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:45:57 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
00:46:29 lavaman joins (~lavaman@98.38.249.169)
00:47:57 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Ping timeout: 268 seconds)
00:48:34 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:50:07 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:52:10 × argento quits (~argent0@168-227-97-34.ptr.westnet.com.ar) (Ping timeout: 258 seconds)
00:52:36 delYsid parts (~user@user/delYsid) (ERC (IRC client for Emacs 27.1.50))
00:52:55 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:53:57 ddellacosta joins (~ddellacos@86.106.121.100)
00:54:29 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
00:57:19 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
00:58:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:58:41 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
00:58:51 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
01:00:36 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
01:00:53 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
01:04:16 × killsushi_ quits (~killsushi@user/killsushi/x-5912268) (Ping timeout: 244 seconds)
01:05:50 × xff0x quits (~xff0x@2001:1a81:53f8:8c00:146b:f6fc:d9b4:bcad) (Ping timeout: 268 seconds)
01:06:05 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
01:07:03 xff0x joins (~xff0x@2001:1a81:5210:a00:e51a:a5db:7d11:7c5d)
01:07:22 × NieDzejkob quits (~quassel@195.149.98.3) (Ping timeout: 252 seconds)
01:07:25 × mnrmnaugh quits (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Ping timeout: 265 seconds)
01:07:50 NieDzejkob joins (~quassel@195.149.98.3)
01:09:45 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
01:11:06 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds)
01:17:13 <qrpnxz> how do i evaluate a value in ghci without printing it, trying to get an effect to occur but it starts to cry if it can't print it
01:17:37 zebrag joins (~chris@user/zebrag)
01:18:06 Feuermagier joins (~Feuermagi@user/feuermagier)
01:18:08 <geekosaur> action >> return () -- ?
01:18:15 <Axman6> :t void . evaluate
01:18:17 <lambdabot> a -> IO ()
01:18:40 <Axman6> @hoogle evaluate
01:18:41 <lambdabot> Control.Exception evaluate :: a -> IO a
01:18:41 <lambdabot> Control.Exception.Base evaluate :: a -> IO a
01:18:41 <lambdabot> GHC.IO evaluate :: a -> IO a
01:20:54 <qrpnxz> doesn't work
01:21:22 <qrpnxz> had to pull the values out by hand, but them in a list and sequence
01:21:36 <qrpnxz> *put
01:21:45 × x_kuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
01:21:48 <Axman6> by "doesn't work" you mean "didn't provide enough information to get the answer you needed"
01:22:23 <qrpnxz> nope, but if that's what you think alright
01:23:20 <Axman6> I can guarantee you what I said does what you said you wanted, but if you need to vully evaluate everything in the entire structure then you might have said that instead. NFData is the class you're after, drom the deepseq package
01:24:34 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
01:27:26 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
01:27:47 <qrpnxz> i think IO won't happen unless it touches ghci at some point so it wasn't even an evaluation problem
01:29:38 × nineonine quits (~nineonine@50.216.62.2) (Remote host closed the connection)
01:29:45 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
01:29:46 × hololeap quits (hololeap@user/hololeap) (Quit: Bye)
01:29:53 <Axman6> right, you didn't say anythign about executing an IO vlaue, you said evaluate a value. all you need then in void yourExpression
01:29:55 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.2)
01:30:02 <jackdk> Axman6++
01:30:21 <Axman6> evaluation and executing are quite different things
01:30:50 <qrpnxz> i did say i was trying to get an effect to occur
01:31:25 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 250 seconds)
01:32:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
01:32:48 <geekosaur> which is why I suggested the other one, which does the effect but discards the value
01:33:02 <geekosaur> so ghci won'[t complain about it
01:33:22 argento joins (~argent0@168-227-97-34.ptr.westnet.com.ar)
01:33:46 <qrpnxz> well it didn't do the effect
01:33:52 <qrpnxz> hence why i said it didn't work
01:34:56 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
01:37:43 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
01:40:01 × argento quits (~argent0@168-227-97-34.ptr.westnet.com.ar) (Quit: leaving)
01:40:18 <qrpnxz> unless "the effect" is heating the room lol
01:42:11 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 252 seconds)
01:43:19 <Axman6> well, evaluating an IO expression won't do very much, only executing it will. an IO a is a recipe which, when _executed_ returns an a. _evaluating_ it just forces it, if it is a think, to be evaluated enough to know that its constructor is the IO constructor
01:44:57 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
01:45:16 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
01:46:08 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
01:47:41 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
01:50:24 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
01:51:28 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds)
01:51:52 slack1256 joins (~slack1256@181.203.47.107)
01:51:56 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
01:54:48 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
01:55:19 pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net)
01:56:23 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
01:58:35 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
01:59:12 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:00:11 × bilegeek quits (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7) (Quit: Leaving)
02:00:45 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:02:42 × xff0x quits (~xff0x@2001:1a81:5210:a00:e51a:a5db:7d11:7c5d) (Ping timeout: 264 seconds)
02:03:33 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:04:12 moet joins (~moet@172.58.22.170)
02:04:15 xff0x joins (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2)
02:04:19 × np quits (~nerdypepp@user/nerdypepper) (Quit: bye)
02:05:07 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:08:11 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:08:33 nerdypepper joins (~nerdypepp@user/nerdypepper)
02:08:50 × pbrisbin quits (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Ping timeout: 258 seconds)
02:09:03 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
02:09:46 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:09:54 × FragByte quits (~christian@user/fragbyte) (Ping timeout: 264 seconds)
02:10:47 × xff0x quits (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2) (Ping timeout: 252 seconds)
02:10:47 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 252 seconds)
02:11:06 × farn quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (Ping timeout: 264 seconds)
02:11:12 × Feuermagier quits (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer)
02:11:20 × bjobjo quits (~bo@user/bjobjo) (Ping timeout: 252 seconds)
02:11:22 × Xe quits (~cadey@tailscale/xe) (Ping timeout: 272 seconds)
02:11:40 xff0x joins (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2)
02:11:41 Feuermagier joins (~Feuermagi@user/feuermagier)
02:11:42 × m4lvin quits (~m4lvin@w4eg.de) (Ping timeout: 264 seconds)
02:11:42 × welterde quits (welterde@thinkbase.srv.welterde.de) (Ping timeout: 264 seconds)
02:11:42 × yorick quits (~yorick@user/yorick) (Ping timeout: 264 seconds)
02:11:44 FragByte joins (~christian@user/fragbyte)
02:11:53 × nf quits (~n@monade.li) (Ping timeout: 252 seconds)
02:12:16 farn joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
02:12:18 × lisq quits (~quassel@lis.moe) (Ping timeout: 264 seconds)
02:12:23 bjobjo joins (~bo@2a01:79c:cebf:d688::9e6)
02:12:28 m4lvin joins (~m4lvin@w4eg.de)
02:12:29 lisq joins (~quassel@lis.moe)
02:12:31 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:12:43 nf joins (~n@monade.li)
02:13:07 welterde joins (welterde@thinkbase.srv.welterde.de)
02:13:07 Xe joins (~cadey@tailscale/xe)
02:13:30 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds)
02:14:03 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:14:50 yorick joins (~yorick@user/yorick)
02:16:28 × slack1256 quits (~slack1256@181.203.47.107) (Remote host closed the connection)
02:16:55 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Remote host closed the connection)
02:17:37 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
02:18:30 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:19:10 <qrpnxz> :t let i f = f (<*>) id in i $ i $ i $ i i
02:19:11 <lambdabot> error:
02:19:11 <lambdabot> • Occurs check: cannot construct the infinite type: a0 ~ a0 -> a0
02:19:12 <lambdabot> Expected type: (((((((a0 -> a0 -> b0) -> (a0 -> a0) -> a0 -> b0)
02:21:22 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:22:55 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:25:34 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
02:25:41 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:27:14 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:28:51 killsushi_ joins (~killsushi@user/killsushi/x-5912268)
02:30:01 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:30:18 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds)
02:31:04 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
02:31:34 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:34:33 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:36:03 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:36:03 FinnElija is now known as Guest1234
02:36:03 finn_elija is now known as FinnElija
02:36:06 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:39:03 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:39:15 × Guest1234 quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 265 seconds)
02:40:36 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:43:27 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:45:01 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:45:58 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
02:46:30 × stevenxl quits (~stevenlei@174.128.182.199) (Ping timeout: 265 seconds)
02:48:01 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:49:36 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:52:36 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:54:10 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
02:56:22 × td__ quits (~td@94.134.91.150) (Ping timeout: 258 seconds)
02:57:07 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
02:57:50 × cyclosa quits (~cyclosa@2603-6011-4a41-8ada-0000-0000-0000-0eaa.res6.spectrum.com) (Quit: computer broke)
02:57:57 td_ joins (~td@94.134.91.59)
02:58:42 betelgeuse joins (~john2gb@94-225-47-8.access.telenet.be)
03:01:31 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
03:02:04 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
03:05:29 × alx741 quits (~alx741@181.196.68.152) (Quit: alx741)
03:06:32 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
03:09:07 hiruji joins (~hiruji@user/hiruji)
03:10:56 sm parts (~user@plaintextaccounting/sm) (ERC (IRC client for Emacs 27.0.50))
03:11:27 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
03:11:47 stevenxl joins (~stevenlei@174.128.182.199)
03:11:51 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
03:12:49 × sheepduck quits (~sheepduck@user/sheepduck) (Remote host closed the connection)
03:13:32 mikail_ joins (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf)
03:16:18 × stevenxl quits (~stevenlei@174.128.182.199) (Ping timeout: 258 seconds)
03:18:54 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
03:20:18 × hammock quits (~Hammock@2600:1700:19a1:3330::625) (Ping timeout: 240 seconds)
03:27:03 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
03:29:04 typesafety joins (~typesafet@umbreller.kvi.sgsnet.se)
03:29:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:29:20 × typesafety quits (~typesafet@umbreller.kvi.sgsnet.se) (Client Quit)
03:34:40 sleblanc joins (~sleblanc@107.159.26.53)
03:35:22 beka joins (~beka@104-244-27-23.static.monkeybrains.net)
03:37:40 × sleblanc quits (~sleblanc@107.159.26.53) (Client Quit)
03:37:57 sleblanc joins (~sleblanc@107.159.26.53)
03:38:13 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
03:38:16 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
03:38:19 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
03:39:30 Lord_of_Life_ is now known as Lord_of_Life
03:40:22 ddellacosta joins (~ddellacos@86.106.121.100)
03:40:23 × unyu quits (~pyon@user/pyon) (Quit: WeeChat 3.2)
03:41:39 × lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
03:42:16 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 250 seconds)
03:42:37 sleblanc is now known as sebleblanc
03:42:47 sebleblanc is now known as sleblnac
03:42:50 sleblnac is now known as sleblanc
03:49:32 × sleblanc quits (~sleblanc@107.159.26.53) (Changing host)
03:49:32 sleblanc joins (~sleblanc@user/sleblanc)
03:49:52 Guest51 joins (~Guest51@78.155.54.115)
03:50:54 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
03:51:37 × beka quits (~beka@104-244-27-23.static.monkeybrains.net) (Remote host closed the connection)
03:56:23 × mikail_ quits (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 252 seconds)
03:59:19 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:01:38 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:01:44 lavaman joins (~lavaman@98.38.249.169)
04:03:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
04:06:52 moet_ joins (~moet@172.58.27.234)
04:10:07 × moet quits (~moet@172.58.22.170) (Ping timeout: 265 seconds)
04:11:02 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
04:11:02 allbery_b joins (~geekosaur@xmonad/geekosaur)
04:12:59 v01d4lph4 joins (~v01d4lph4@122.160.65.250)
04:12:59 × v01d4lph4 quits (~v01d4lph4@122.160.65.250) (Changing host)
04:12:59 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
04:13:55 teaSlurper joins (~chris@81.96.113.213)
04:16:30 × juhp quits (~juhp@128.106.188.66) (Quit: juhp)
04:16:43 juhp joins (~juhp@128.106.188.66)
04:19:52 ddellaco_ joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
04:23:04 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 268 seconds)
04:23:12 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:28:27 × haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
04:28:57 haasn joins (~nand@haasn.dev)
04:30:44 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
04:36:44 × ddellaco_ quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Remote host closed the connection)
04:37:13 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
04:40:08 Topsi1 joins (~Tobias@dyndsl-095-033-016-151.ewe-ip-backbone.de)
04:41:01 × Topsi quits (~Tobias@dyndsl-091-249-082-141.ewe-ip-backbone.de) (Ping timeout: 258 seconds)
04:41:47 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 258 seconds)
04:46:36 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 268 seconds)
04:52:49 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
04:54:37 <dminuoso> 112
04:57:56 × Xnuk quits (~xnuk@45.76.202.58) (Read error: Connection reset by peer)
04:58:13 Xnuk joins (~xnuk@vultr.xnu.kr)
05:00:13 × finsternis quits (~X@23.226.237.192) (Remote host closed the connection)
05:03:17 × renzhi quits (~xp@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 265 seconds)
05:10:13 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
05:13:21 pottsy joins (~pottsy@2400:4050:b560:3700:d9ad:59b1:5f34:93cd)
05:14:53 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 265 seconds)
05:19:31 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:22:45 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
05:23:17 efvincent-007 joins (~efvincent@71.69.232.38)
05:24:47 × Guest51 quits (~Guest51@78.155.54.115) (Quit: Client closed)
05:26:42 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 240 seconds)
05:31:45 × bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
05:34:18 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
05:37:23 deshalb joins (~deshalb@user/deshalb)
05:43:30 chomwitt joins (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9)
05:47:41 mpt joins (~tom@2a00:20:800f:87cc:fcb9:2f31:1e2e:8504)
05:53:22 × mpt quits (~tom@2a00:20:800f:87cc:fcb9:2f31:1e2e:8504) (Read error: Connection reset by peer)
05:54:37 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
05:55:05 wei2912 joins (~wei2912@112.199.250.21)
05:58:05 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
05:59:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:59:55 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
06:00:31 × efvincent-007 quits (~efvincent@71.69.232.38) (Ping timeout: 246 seconds)
06:10:48 rookie101 joins (~rookie@207.154.204.166)
06:11:21 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:13:19 chexum joins (~chexum@gateway/tor-sasl/chexum)
06:15:26 michalz joins (~michalz@185.246.204.61)
06:15:44 × nerdypepper quits (~nerdypepp@user/nerdypepper) (Quit: bye)
06:16:05 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
06:17:40 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
06:19:04 gehmehgeh joins (~user@user/gehmehgeh)
06:19:33 × Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
06:19:44 Erutuon joins (~Erutuon@user/erutuon)
06:19:50 lortabac joins (~lortabac@2a01:e0a:541:b8f0:f76a:37dd:7d13:fae6)
06:19:52 nerdypepper joins (~nerdypepp@user/nerdypepper)
06:20:11 fef joins (~thedawn@user/thedawn)
06:20:14 Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
06:21:13 × Erutuon quits (~Erutuon@user/erutuon) (Client Quit)
06:21:23 Erutuon joins (~Erutuon@user/erutuon)
06:24:29 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
06:31:22 leeb joins (~leeb@KD111239153143.au-net.ne.jp)
06:33:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
06:34:29 × leeb_ quits (~leeb@KD111239158072.au-net.ne.jp) (Ping timeout: 258 seconds)
06:35:46 sheepduck joins (~sheepduck@user/sheepduck)
06:37:50 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
06:38:14 fef joins (~thedawn@user/thedawn)
06:43:18 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
06:48:22 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
06:49:14 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
06:50:35 × bontaq` quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 265 seconds)
06:50:46 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
06:51:04 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
06:51:38 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
06:52:00 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
06:52:12 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
06:55:57 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed)
06:57:31 cfricke joins (~cfricke@user/cfricke)
06:59:38 hughjfchen joins (~hughjfche@vmi556545.contaboserver.net)
07:03:06 Nahra joins (~user@static.161.95.99.88.clients.your-server.de)
07:03:14 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection)
07:03:51 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
07:05:18 chele joins (~chele@user/chele)
07:05:49 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:07:30 Xraell joins (~yourname@45.157.15.145)
07:07:56 × Xraell quits (~yourname@45.157.15.145) (Client Quit)
07:08:02 janiczek joins (~janiczek@89-24-215-117.customers.tmcz.cz)
07:08:28 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
07:10:16 × bjobjo quits (~bo@2a01:79c:cebf:d688::9e6) (Changing host)
07:10:16 bjobjo joins (~bo@user/bjobjo)
07:10:19 Xraell joins (~yourname@45.157.15.145)
07:10:31 × sheepduck quits (~sheepduck@user/sheepduck) (Remote host closed the connection)
07:12:40 IvanDru[m] is now known as lwe[m]
07:12:50 mcfilib joins (sid302703@user/mcfilib)
07:14:59 × Nahra quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection)
07:15:52 Nahra joins (~user@static.161.95.99.88.clients.your-server.de)
07:16:34 moet joins (~moet@172.58.30.115)
07:17:50 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
07:19:32 × moet_ quits (~moet@172.58.27.234) (Ping timeout: 252 seconds)
07:19:43 × mcglk quits (~mcglk@131.191.49.120) (Ping timeout: 258 seconds)
07:21:59 haskl joins (~haskeller@2601:643:897f:561d::af3)
07:22:26 <haskl> Has anyone had success with building static binaries using the process outlined here? https://www.tweag.io/blog/2020-09-30-bazel-static-haskell/
07:28:58 hughjfchen joins (~hughjfche@vmi556545.contaboserver.net)
07:30:05 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Remote host closed the connection)
07:30:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:32:37 hughjfchen joins (~hughjfche@vmi556545.contaboserver.net)
07:32:38 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Client Quit)
07:33:10 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
07:35:22 mcglk joins (~mcglk@131.191.49.120)
07:35:53 <maerwald[m]> I do fully static binaries in an alpine container
07:36:24 <maerwald[m]> Not sure why people complicate this
07:40:55 <tdammers> I like deploying "fat binaries" to vanilla debian servers
07:41:31 moet_ joins (~moet@172.58.27.134)
07:42:57 <haskl> I've never made a release of Haskell software before but now I'm interested in doing so for a small project. Anyone care to point me in the right direction? I'm using Debian right now. maerwald[m] could you share an example with me? tdammers not sure what that means. I once just used the static flag for GHC on another project of mine but, without going into specifics, I read about some problems that it introduced and it was unstable for some
07:42:57 <haskl> users.
07:44:00 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
07:44:38 × moet quits (~moet@172.58.30.115) (Ping timeout: 258 seconds)
07:44:55 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:45:18 <maerwald[m]> Just docker run an alpine container, ensure system libs hsve static versions, then build with --ghc-options='-split-sections -optl-static'
07:45:25 <maerwald[m]> Done
07:45:42 <maerwald[m]> No weird nix problems
07:46:40 × euandreh_ quits (~euandreh@2804:14c:33:9fe5:ee71:32ea:12e0:378c) (Ping timeout: 268 seconds)
07:47:25 euandreh_ joins (~euandreh@2804:14c:33:9fe5:4732:d8b1:5f78:9a82)
07:49:20 <haskl> maerwald[m], thanks for pointing me in the right direction, I'll look into that.
07:51:05 <haskl> https://github.com/fossas/haskell-static-alpine This looks great!
07:51:29 <maerwald[m]> Don't need that
07:51:41 <maerwald[m]> Just normal alpine container
07:52:53 <tdammers> haskl: "releasing" and "deploying" are different things. "releasing" just means you upload a source bundle (and, optionally, binaries) to some public repository - for Haskell packages, that would typically be Hackage
07:54:18 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
07:54:25 <haskl> tdammers, I made a little tool for building gopherholes (it's liek a static site builder, but for the Gopher protocol) and I just want to give non-savvy people a binary they can run to test it out as it's in pre-alpha.
07:55:03 <haskl> So yeah, I'm looking to make an alpha release of the software with a static binary.
07:56:02 <haskl> maerwald[m], a normal alpine container that's setup with the right version of GHC and cabal? and that's it? you mentioned something about making sure all the system libs are static versions. I'm not sure exactly what yo umean by that.
07:56:36 <maerwald[m]> You install ghc and cabal via ghcup and static libraries via apk
08:02:48 boxscape_ joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de)
08:03:35 × boxscape_ quits (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Changing host)
08:03:35 boxscape_ joins (~boxscape_@user/boxscape)
08:04:14 Ferdiran1 is now known as Ferdirand
08:04:32 × Ferdirand quits (~somebody@2001:4c78:2012:5000::2) (Changing host)
08:04:32 Ferdirand joins (~somebody@user/ferdirand)
08:08:04 × boxscape_ quits (~boxscape_@user/boxscape) (Quit: Connection closed)
08:09:58 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:11:26 berberman_ joins (~berberman@user/berberman)
08:12:26 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
08:12:54 × berberman quits (~berberman@user/berberman) (Ping timeout: 264 seconds)
08:13:40 jiribenes joins (~jiribenes@rosa.jiribenes.com)
08:14:11 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
08:14:42 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
08:15:28 fef joins (~thedawn@user/thedawn)
08:18:28 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:19:03 teaSlurper joins (~chris@81.96.113.213)
08:21:20 hendursaga joins (~weechat@user/hendursaga)
08:21:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Remote host closed the connection)
08:22:12 × allbery_b quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds)
08:22:35 hegstal joins (~hegstal@2a02:c7f:7604:8a00:7821:4ac6:7f63:f8)
08:23:34 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 268 seconds)
08:28:50 × moet_ quits (~moet@172.58.27.134) (Ping timeout: 252 seconds)
08:29:30 chddr joins (~Thunderbi@31.148.23.125)
08:29:44 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
08:31:38 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
08:32:10 × qrpnxz quits (~qrpnxz@user/qrpnxz) (Ping timeout: 250 seconds)
08:33:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
08:34:18 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
08:34:52 involans joins (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net)
08:36:18 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 264 seconds)
08:38:15 dhil joins (~dhil@195.213.192.47)
08:38:46 <haskl> maerwald[m], thanks! i'll read into apk as well. this sounds much simpler. i appreciate all the guidance.
08:39:26 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:43:49 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
08:45:50 kmein joins (~weechat@user/kmein)
08:46:48 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
08:47:10 × chddr quits (~Thunderbi@31.148.23.125) (Ping timeout: 252 seconds)
08:47:41 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
08:48:54 jumper149 joins (~jumper149@80.240.31.34)
08:50:54 mcglk_ joins (~mcglk@131.191.49.120)
08:51:56 × mcglk quits (~mcglk@131.191.49.120) (Ping timeout: 252 seconds)
08:54:13 mcglk joins (~mcglk@131.191.49.120)
08:55:41 × mcglk quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer)
08:56:14 mcglk joins (~mcglk@131.191.49.120)
08:56:20 × mcglk_ quits (~mcglk@131.191.49.120) (Ping timeout: 252 seconds)
09:00:53 even4void joins (even4void@2607:5300:203:3f52::12)
09:03:13 × smitop quits (~smitop@user/smitop) (Remote host closed the connection)
09:03:32 yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se)
09:04:13 smitop joins (~smitop@user/smitop)
09:05:39 fef joins (~thedawn@user/thedawn)
09:06:41 qbt joins (~edun@user/edun)
09:10:24 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
09:10:42 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:69d4:ccfd:e578:282b)
09:10:51 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:15:06 ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
09:15:22 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 268 seconds)
09:17:14 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
09:19:35 × haskl quits (~haskeller@2601:643:897f:561d::af3) (Changing host)
09:19:36 haskl joins (~haskeller@user/haskl)
09:22:38 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
09:24:25 jneira joins (~jneira@212.8.115.226)
09:26:42 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 240 seconds)
09:29:40 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:39:11 teaSlurper joins (~chris@81.96.113.213)
09:49:14 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
09:49:18 × deshalb quits (~deshalb@user/deshalb) (Ping timeout: 268 seconds)
09:50:22 __monty__ joins (~toonn@user/toonn)
09:50:31 deshalb joins (~deshalb@user/deshalb)
09:54:14 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 268 seconds)
09:54:18 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
09:55:56 unyu joins (~pyon@user/pyon)
09:58:16 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:00:49 × alp quits (~alp@163.172.83.213) (Changing host)
10:00:49 alp joins (~alp@user/alp)
10:00:57 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
10:10:53 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
10:17:30 × GIANTWORLDKEEPER quits (~pjetcetal@2.95.227.207) (Quit: EXIT)
10:17:49 GIANTWORLDKEEPER joins (~pjetcetal@2.95.227.207)
10:18:32 hmmmas joins (~chenqisu1@183.217.200.246)
10:21:59 trent2 joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
10:22:24 lavaman joins (~lavaman@98.38.249.169)
10:23:09 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
10:23:58 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
10:27:33 × Alex_test quits (~al_test@178.34.160.156) (Ping timeout: 258 seconds)
10:27:56 × AlexZenon quits (~alzenon@178.34.160.156) (Ping timeout: 258 seconds)
10:28:00 <Las[m]> I have a C library I'm using with that isn't thread-safe, so I was thinking of restricting all interaction with it to one bound thread. Are there any common approaches for this? I was thinking I could perhaps somehow send over the IO actions I want to perform through some channel-like thing and then get the result back after performing it in the other thread.
10:28:01 teaSlurper joins (~chris@81.96.113.213)
10:28:18 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 240 seconds)
10:28:53 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
10:29:32 × AlexNoo quits (~AlexNoo@178.34.160.156) (Ping timeout: 265 seconds)
10:30:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:30:37 Morrow joins (~MorrowM_@147.161.8.246)
10:31:15 × killsushi_ quits (~killsushi@user/killsushi/x-5912268) (Quit: Leaving)
10:32:45 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
10:33:25 teaSlurper joins (~chris@81.96.113.213)
10:33:31 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
10:35:16 Meh joins (~Meh@202.14.120.214)
10:35:40 Meh is now known as Guest4839
10:35:44 pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net)
10:36:19 × Guest4839 quits (~Meh@202.14.120.214) (Client Quit)
10:37:54 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 258 seconds)
10:45:55 zyklotomic joins (~ethan@2604:a880:800:10::79f:8001)
10:46:13 <zyklotomic> is there syntax sugar for declaring instances for multiple types in one line?
10:46:40 <zyklotomic> instead of having to do instance Eq TypeA, newline, instance Eq TypeB
10:46:50 <merijn> I don't think there is
10:46:52 <zyklotomic> can I like do instance Eq TypeA typeB in one go
10:46:57 <zyklotomic> ah i see, just checking, thanks
10:47:01 mikail_ joins (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf)
10:47:04 <merijn> tbh, I've never really had so many types to define instance on that it was relevant
10:47:35 <zyklotomic> yeah it isnt' super necessary, thought it might just potentially make it cleaner
10:47:40 <merijn> zyklotomic: If you have an empty isntance declaration you could just tag it onto the type definitiin via deriving, no?
10:48:40 <tomsmeding> Las[m]: you may be interested in http://www.vex.net/~trebla/haskell/ghc-conc-ffi.xhtml
10:48:53 × xff0x quits (~xff0x@2001:1a81:5218:4800:8168:2dc2:e054:da2) (Ping timeout: 252 seconds)
10:49:20 <zyklotomic> i'm not entirely sure, not all typeclasses though
10:49:25 xff0x joins (~xff0x@2001:1a81:5218:4800:1515:545a:1239:1833)
10:49:50 <zyklotomic> merijn: like, iirc, there is an AnyTypeDeriving extension, forgot the exact name
10:50:41 <zyklotomic> maybe i'm not understanding correctly, am noob
10:51:16 kayprish joins (~kayprish@46.240.143.86)
10:51:42 <zyklotomic> -XGeneralizedNewTypeDeriving i think
10:52:13 <lortabac> zyklotomic: there is DeriveAnyClass, but it goes in the opposite sense: you can derive multiple classes for a single type
10:53:11 <lortabac> also, that extension can be confusing (unless you specify the strategy explicitly with DerivingStrategies)
10:53:16 mnrmnaugh joins (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net)
10:53:35 <zyklotomic> you mean GenearilezdNewTypeDeriving?
10:53:44 <zyklotomic> by "that extension"
10:53:50 <lortabac> DeriveAnyClass
10:53:56 <zyklotomic> ah ok
10:54:55 <zyklotomic> lortabac, merijn: thanks, the both of you, for your input
10:55:53 <zyklotomic> the confusing part makes sense yes, because otherwise it feels too auto-magical
11:00:11 teaSlurper joins (~chris@81.96.113.213)
11:00:52 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
11:03:36 <Las[m]> tomsmeding: Thanks! This looks like a nice resouce
11:03:36 <Las[m]> resource*
11:04:18 lavaman joins (~lavaman@98.38.249.169)
11:04:20 <tomsmeding> written by an active member of this channel :)
11:05:44 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
11:06:59 <Cale> zyklotomic: If it really got serious, it'd be possible to generate a lot of instances like that using TemplateHaskell (but you probably want more than a few)
11:07:14 × pbrisbin quits (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Ping timeout: 265 seconds)
11:08:00 stevenxl joins (~stevenlei@174.128.182.215)
11:08:38 × ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Quit: ubert)
11:08:42 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
11:08:55 <zyklotomic> Cale: have never dabbled in TemplateHaskell before lol, but yeah my use case right now definitely doesnt justify it
11:11:01 chddr joins (~Thunderbi@31.148.23.125)
11:11:52 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
11:15:12 biggs joins (~biggs@host-80-43-81-131.as13285.net)
11:17:48 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
11:22:13 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
11:22:26 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:22:39 × Codaraxis quits (~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
11:22:59 Codaraxis joins (~Codaraxis@user/codaraxis)
11:25:16 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
11:26:28 × Scotty_Trees quits (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Remote host closed the connection)
11:27:07 hseg joins (~gesh@185.120.126.29)
11:27:47 × biggs quits (~biggs@host-80-43-81-131.as13285.net) (Quit: Client closed)
11:28:08 <hseg> Hi. Am trying to construct a list, and have the entire expression be an empty list if any of the preconditions fail
11:28:19 <hseg> have written two ways: http://ix.io/3qJM
11:28:31 <hseg> but neither is aesthetically appealing
11:29:48 <hseg> (especially considering these lists occur in an expression context, so I'd have tm:tm':complicated_term:...
11:30:20 × involans quits (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 252 seconds)
11:30:24 × unyu quits (~pyon@user/pyon) (Quit: WeeChat 3.2)
11:31:15 <Las[m]> tomsmeding: this is a nice resource, but it doesn't describe a way of executing an `IO a` in a specific OS thread, which is what I want
11:31:31 <Las[m]> since I want to provide a safe abstraction over the library
11:32:47 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) ()
11:33:00 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
11:33:55 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Client Quit)
11:34:09 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
11:34:42 × euandreh_ quits (~euandreh@2804:14c:33:9fe5:4732:d8b1:5f78:9a82) (Ping timeout: 240 seconds)
11:35:28 <dminuoso> % let pred = (< 3) in foldrM (\x xs -> if (pred x) then (Just (x:xs)) else Nothing) [] [1,2,2]
11:35:28 <yahb> dminuoso: Just [1,2,2]
11:35:31 <dminuoso> hseg: This maybe?
11:35:43 euandreh_ joins (~euandreh@2804:14c:33:9fe5:3fd5:92e4:b3b4:44e0)
11:35:48 <dminuoso> Im thinking this can be improved still, just busy with other stuff
11:37:58 fef joins (~thedawn@user/thedawn)
11:38:51 <merijn> Las[m]: You can't specify a specific OS thread. You can require that a Haskell thread always executes on the *same* OS thread
11:39:35 <merijn> Las[m]: i.e. you can say "this haskell thread should always run on the same thread" for cases where you call C code that uses, thread local storage, for example
11:39:50 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
11:41:35 × awth13 quits (~user@user/awth13) (Remote host closed the connection)
11:41:53 <dminuoso> Ah perhaps you could write:
11:42:06 <dminuoso> % let pred = (< 3) in foldrM (\x xs -> guard (pred x); Just (x:xs)) [] [1,2,2]
11:42:06 <yahb> dminuoso: ; <interactive>:23:52: error: parse error on input `;'
11:42:13 <dminuoso> % let pred = (< 3) in foldrM (\x xs -> do { guard (pred x); Just (x:xs) }) [] [1,2,2]
11:42:13 <yahb> dminuoso: Just [1,2,2]
11:42:17 <dminuoso> This looks kind of nice
11:42:51 <Las[m]> merijn: then couldn't I somehow pass over the `IO a` I want to execute to some bound thread over a channel or similar?
11:43:21 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
11:43:25 awth13 joins (~user@user/awth13)
11:45:09 <kritzefitz> Las[m], yes you can, exactly as you say. Start a bound thread and pass your IO actions there using a channel.
11:45:18 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 264 seconds)
11:46:21 <boxscape> dminuoso: MonadComprehensions works nicely with that
11:46:22 <boxscape> % let pred = (< 3) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2]
11:46:22 <yahb> boxscape: [1,2,2]
11:46:46 <dminuoso> mmm
11:46:56 <dminuoso> Oh, using list monad itself, thats not bad either!
11:47:00 <dminuoso> % let pred = (< 1) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2]
11:47:01 <yahb> dminuoso: *** Exception: user error (mzero)
11:47:10 <dminuoso> boxscape: except this is bad. mmm
11:47:13 <dminuoso> % :t let pred = (< 1) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2]
11:47:14 <yahb> dminuoso: (Monad m, Alternative m, Ord a, Num a) => m [a]
11:47:16 <boxscape> :/
11:47:22 <dminuoso> Oh, this probably defaults to IO
11:47:36 <dminuoso> % let pred = (< 1) in foldrM (\x xs -> [x:xs | pred x]) [] [1,2,2] :: Maybe [Int]
11:47:37 <yahb> dminuoso: Nothing
11:47:39 <dminuoso> Yeah this is good
11:48:32 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:49:24 <boxscape> ah yeah I didn't realize the Just was missing in the output at first
11:49:57 Feuermagier joins (~Feuermagi@user/feuermagier)
11:52:09 × kayprish quits (~kayprish@46.240.143.86) (Remote host closed the connection)
11:52:12 <Las[m]> kritzefitz: Thanks! Do you have any recommendations for how I'd get the result back to the calling Haskell thread?
11:52:36 <merijn> Las[m]: Oh, there's a simple solution for that
11:52:42 <merijn> Well "simple" :p
11:53:29 <merijn> Las[m]: Pass an empty MVar along with the IO action and have the thread running it write the result to the empty MVar
11:53:31 <boxscape> @pl \x -> [x | True]
11:53:31 <lambdabot> return . (| True)
11:53:54 <boxscape> that's kind of funny
11:53:57 × chomwitt quits (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9) (Ping timeout: 268 seconds)
11:54:01 <Las[m]> Ah yeah that is simple, thanks
11:54:06 <merijn> boxscape: That's because pl is dumb and doesn't parse Haskell
11:54:19 <merijn> Las[m]: Then the original thread can just block on the empty MVar until it's done :)
11:54:25 <boxscape> yeah
11:54:37 <merijn> It's a super useful trick
11:55:03 <Las[m]> Thanks for the help!
11:55:54 <dminuoso> merijn: Wait, so automatically running @pl on my edit on save in emacs is a bad idea?
11:55:54 × xlei quits (znc@pool-68-129-84-118.nycmny.fios.verizon.net) (Read error: Connection reset by peer)
11:55:59 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
11:56:16 <merijn> dminuoso: For several reasons :p
11:56:30 fef joins (~thedawn@user/thedawn)
11:56:37 <merijn> Pretty sure that @pl on save is a great way to get lynched by future maintainers
11:56:37 <boxscape> I prefer running a macro that runs pl . unpl until a get a fixpoint
11:57:44 <dminuoso> merijn: Im sure that running @pl keeps you safe from future maintainers in the first place.
11:57:53 <dminuoso> So my life is safe.
11:58:56 <maerwald[m]> It's HLint's fault making haskellers believe that caring about pointfree is something inherently idiomatic
11:59:05 <dminuoso> boxscape: Sounds great. `let code' = fix (pl . unpl) code in ...`
11:59:12 <merijn> HLint is to blame for lots of stuff :p
11:59:12 <dminuoso> Profit?
11:59:36 <tomsmeding> just like writing in APL is profit, I guess
11:59:53 <boxscape> every once in a while running it on a function diverges but you know, that's what makes it fun
12:00:14 <dminuoso> tomsmeding: Im sure that if you're capable in APL, you will earn more than the top 5% Haskell earners..
12:00:44 <tomsmeding> https://github.com/Co-dfns/Co-dfns/tree/master/cmp
12:01:04 maroloccio joins (~marolocci@189.15.9.54)
12:01:13 <boxscape> ooh, self-documenting code
12:01:55 <maerwald[m]> Yeah, HLint also makes people put newtype everywhere there is only one constructor, thinking that's gonna fix all their space leaks
12:01:58 × Codaraxis quits (~Codaraxis@user/codaraxis) (Remote host closed the connection)
12:02:17 Codaraxis joins (~Codaraxis@user/codaraxis)
12:02:19 CookE[] joins (~thedawn@user/thedawn)
12:02:39 <dminuoso> If you have your ancient APL codebase, then due to lack of programmers you as the developer can dictate your price easily I think.
12:03:06 <dminuoso> APL is not like your run-off-the-mill JS clone that you simply teach to your average pythonista
12:03:20 × CookE[] quits (~thedawn@user/thedawn) (Remote host closed the connection)
12:04:07 <tomsmeding> maerwald[m]: not all that comes out of hlint is nonsense though. What I'd like, I think, is some way to run hlint in my HLS, but then be able to mark certain notes as "I don't want this" without having to pollute my source with annotations
12:04:13 xlei joins (znc@pool-68-129-84-118.nycmny.fios.verizon.net)
12:04:23 <tomsmeding> but that's going to be hard to robustly implement
12:05:34 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
12:06:35 <boxscape> tomsmeding: do you mean "I don't want this type of warning" or "I don't want this specific instance of this warning"?
12:06:50 <maerwald[m]> Most of what comes out of hlint is nonsense imo... or just not very useful, like "yoe could have omitted that 'do'"... yeah, so what
12:07:01 <tomsmeding> boxscape: this specific instance
12:07:10 <boxscape> ah, yeah, that sounds difficult
12:07:25 <tomsmeding> yeah I know that you can disable particular notes wholesale; not talking about that
12:09:06 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
12:10:11 <merijn> HLint is great...if your opinions on formatting/writing Haskell overlap for 95% with Neil Mitchell :p
12:10:29 <maerwald> Then it tries to tell me that I should avoid `maybe` for golfing reasons
12:10:30 takuan joins (~takuan@178-116-218-225.access.telenet.be)
12:10:46 <tomsmeding> or replace a non-trivial do block with applicative style :p
12:12:40 <maerwald> and then people think it's so useful, they have to include it as ERRORS in their CI, so now you got increased roundtrip times for fixing nonsensical stuff... or remember to run it before pushing
12:13:13 <maerwald> Then have annoyieg discussions about why you disabled a suggestion
12:13:59 <maerwald> "because it's nonsense" apparently isn't enough :p
12:14:02 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
12:14:11 <stevenxl> morning folks
12:16:00 <maerwald> linters are placebo for code cleanliness
12:16:57 × korayal quits (~Koray_Al@213.14.171.115) (Quit: WeeChat 3.3-dev)
12:17:08 korayal joins (~Koray_Al@213.14.171.115)
12:17:27 × korayal quits (~Koray_Al@213.14.171.115) (Changing host)
12:17:27 korayal joins (~Koray_Al@user/korayal)
12:17:49 × korayal quits (~Koray_Al@user/korayal) (Client Quit)
12:17:59 korayal joins (~Koray_Al@user/korayal)
12:20:55 × korayal quits (~Koray_Al@user/korayal) (Client Quit)
12:21:06 korayal joins (~Koray_Al@user/korayal)
12:21:17 <dminuoso> merijn: Yeah this is precisely why I dont also use ormolu.
12:21:25 <dminuoso> I dont need someone else dictating their style on me.
12:21:45 <dminuoso> stylish-haskell's way of formatting import lists matches what I do anyway, so I use it for nothing but import list formatting
12:22:42 tomsmeding . o O ( users 1, 3, 4, 5 on this list are non-fans of linters and formatters https://ircbrowse.tomsmeding.com/nicks/lchaskell/all )
12:23:33 <tomsmeding> maerwald is a bit further down the list on the old freenode haskell stats :p
12:25:30 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
12:25:45 × chddr quits (~Thunderbi@31.148.23.125) (Quit: chddr)
12:29:24 <merijn> I'm simultaneously sad and glad the old ircbrowse stats died
12:29:40 <merijn> because they made me look like a slacker xD
12:29:48 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
12:29:57 Feuermagier_ joins (~Feuermagi@2a02:2488:4211:3400:5def:8486:9e4:b49a)
12:30:18 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 264 seconds)
12:30:45 ukari joins (~ukari@user/ukari)
12:31:23 <tomsmeding> merijn: you're still on top in the freenode stats
12:31:38 <merijn> Yes
12:31:43 <merijn> but not nearly as much as before >.>
12:32:19 AlexNoo joins (~AlexNoo@178.34.150.65)
12:32:43 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds)
12:33:14 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
12:33:43 Alex_test joins (~al_test@178.34.150.65)
12:34:23 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
12:34:39 AlexZenon joins (~alzenon@178.34.150.65)
12:37:47 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 252 seconds)
12:38:06 <boxscape> tomsmeding: I don't use either of those things, so I guess that completes the set
12:38:13 <tomsmeding> nice
12:39:06 <maerwald> I used to use formatters, but then I realized they're just a form of OCD treatment
12:39:16 <tomsmeding> perhaps there is a non-trivial (indirect) causal relationship between "uses IRC" and "doesn't like software to decide code formatting for them"
12:39:41 <tomsmeding> where maerwald doesn't count because you use matrix
12:39:56 <maerwald> no, I'm on Irc and matrix
12:40:04 × Morrow quits (~MorrowM_@147.161.8.246) (Remote host closed the connection)
12:40:21 <maerwald[m]> maerwald: right
12:40:22 × azeem quits (~azeem@dynamic-adsl-84-220-246-6.clienti.tiscali.it) (Ping timeout: 252 seconds)
12:40:22 Morrow joins (~MorrowM_@147.161.8.246)
12:40:28 <tomsmeding> :D
12:40:34 <tomsmeding> ok then double
12:40:46 tomsmeding wonders why you're on both
12:41:06 <maerwald> different clients... irc client on mobile can be wonky
12:41:22 <tomsmeding> ah yes mobile clients for irc, the swampfest
12:41:39 <tomsmeding> freenode has an app now!
12:42:20 <maerwald> Revolution IRC works, ish, but it can swallow DMs that I have to recover by logging into my bouncer and grepping through files
12:42:25 <maerwald> software. ..
12:42:46 <tomsmeding> it can swallow DMs? that's good to know I guess
12:42:55 <tomsmeding> also it eats a lot of battery
12:44:10 <maerwald> yeah, DM windows get closed after a reconnect or so
12:44:21 <maerwald> which is... a lot on mobile
12:44:32 tomsmeding doesn't have that problem, perhaps it's some interaction with the bouncer? I'm using znc
12:44:39 <maerwald> me too
12:44:46 <maerwald> weechat works normal
12:44:52 <tomsmeding> ¯\_(ツ)_/¯
12:45:03 <maerwald> gg
12:46:34 mikail__ joins (~mikail@90.212.77.3)
12:46:58 pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net)
12:47:51 azeem joins (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it)
12:49:27 × mikail_ quits (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 268 seconds)
12:49:56 <trcc> Off-topic, but people are usually good to come up with stuff in here: I am to argue in a funding application for an open-source library (paid (very cheap) if commercial use -> money goes to non-for-profit association). How can I argue over big industrial products by e.g. Siemens on anything else than price? A pricey tool can provide 24/7 support, a overwhelming amount of features, great user-interface etc. Any ideas on pote
12:49:56 <trcc> ntial ideas?
12:50:43 <trcc> No vendor lock-in is one... Open-source is of course another
12:51:05 <trcc> but typically such industrial tools supports customization
12:51:42 Wally joins (~Wally@dragonbox/forum-staff/wally)
12:52:00 <maerwald> you mean why open source is better than. ..what?
12:53:17 <trcc> a commercial tool from the point of view of industry.
12:53:31 <trcc> anything else to compete on except price?
12:54:06 <maerwald> It allows to build an ecosystem of contributors
12:54:39 <maerwald> More coverage/users, potentially, for early stage products
12:55:00 <trcc> many commercial tools do so as well through plugins
12:55:22 <maerwald> Not in the same way, no
12:55:37 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer)
12:56:15 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
12:56:51 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:69d4:ccfd:e578:282b) (Ping timeout: 268 seconds)
12:56:58 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
12:57:09 <maerwald> Then there's the ethical dimension snd the security dimension. for the latter you can find tons of posts from Bruce Schneier
12:58:12 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
12:58:19 <trcc> The ethical is an easy one. The security dimension is more tough.
12:58:29 <trcc> I will target a bit on the ethical part
12:58:35 <maerwald> there's also the trust argument: would you put your money on a proprietary blockchain?
12:58:38 <trcc> Can you elaborate on "not in the same way"?
12:58:44 × jneira quits (~jneira@212.8.115.226) (Quit: Client closed)
12:59:06 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
12:59:14 <maerwald> Linux Kernel
12:59:36 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
12:59:49 involans joins (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net)
13:00:14 <maerwald> there's also the "it's more like the science approach " argument
13:00:53 <maerwald> not much more so salvage, except marketing those arguments more fancy
13:01:05 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 268 seconds)
13:01:09 alx741 joins (~alx741@181.196.68.152)
13:03:11 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Ping timeout: 258 seconds)
13:04:03 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Remote host closed the connection)
13:04:20 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
13:06:47 <trcc> hehe ye. Thanks
13:07:06 × hseg quits (~gesh@185.120.126.29) (Ping timeout: 265 seconds)
13:08:53 kuribas joins (~user@ptr-25vy0i89phmaoo2wmls.18120a2.ip6.access.telenet.be)
13:10:48 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
13:11:55 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
13:12:43 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
13:12:46 Wally parts (~Wally@dragonbox/forum-staff/wally) (https://quassel-irc.org - Chat comfortably. Anywhere.)
13:13:10 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
13:14:09 <lwe[m]> Hey guys, I’d love to learn Haskell. Can you recommend any books, tutors?
13:14:18 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 258 seconds)
13:14:45 <maerwald> @where learnhaskell
13:14:45 <lambdabot> https://wiki.haskell.org/Learning_Haskell
13:15:06 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
13:15:14 <maerwald> @where cis192
13:15:14 <lambdabot> I know nothing about cis192.
13:15:47 <maerwald> @where cis194
13:15:47 <lambdabot> https://www.seas.upenn.edu/~cis194/spring13/lectures.html
13:15:58 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
13:16:05 <maerwald> lwe[m]: ^
13:16:10 <lwe[m]> Thank you 💕
13:16:44 <rawles> It sounds really obvious, but I found with Haskell more than other languages that having my own mini-project to try to realise in code, even if it wasn't the best code, really helped me learn.
13:16:50 bontaq` joins (~user@ool-18e47f8d.dyn.optonline.net)
13:17:03 <rawles> But I'm still very much a beginner!
13:17:46 <lwe[m]> What your pet project is about?
13:18:14 bontaq` is now known as bontaq
13:18:27 <rawles> My first ever one was to store and process GPS traces of my favourite hikes.
13:18:31 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
13:18:52 <rawles> I had to think about data structures, and pipelines of functions that would perform the transformations I needed.
13:19:03 sekun joins (~sekun@180.190.208.125)
13:19:33 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
13:21:38 <jumper149> Is it possible to view a servant API in some form of tree?
13:22:24 <sekun> This is just a hypothetical question. I've read on Reddit that GHC has accumulated a lot of baggage in the past 30 years of its development. How can this issue be addressed? Is a full rewrite of GHC a reasonable thing, or would it be better to just fix them along the way with the current GHC?
13:22:48 × nerdypepper quits (~nerdypepp@user/nerdypepper) (Quit: bye)
13:23:27 × hendursaga quits (~weechat@user/hendursaga) (Quit: hendursaga)
13:24:18 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
13:24:50 trcc joins (~trcc@130.225.16.16)
13:25:14 nerdypepper joins (~nerdypepp@user/nerdypepper)
13:30:24 <lyxia> even without whatever baggage GHC is a huge thing. A rewrite would not go well.
13:30:24 hendursaga joins (~weechat@user/hendursaga)
13:30:26 kw joins (~user@152.1.137.158)
13:30:36 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
13:30:37 × maroloccio quits (~marolocci@189.15.9.54) (Ping timeout: 246 seconds)
13:30:55 MorrowM joins (~MorrowM_@147.161.12.3)
13:31:19 <merijn> sekun: What baggage do you imagine could be removed?
13:32:23 maroloccio joins (~marolocci@189.15.9.54)
13:33:10 <kw> Is it possible to write a function `traverseAlt :: (Alternative m)=> (a -> m b) -> NonEmpty a -> m (NonEmpty b)` , where, for instance, `traverseAlt (const empty)` === `empty` ? Or would that require a `Monad` constraint?
13:33:39 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
13:33:54 × Morrow quits (~MorrowM_@147.161.8.246) (Ping timeout: 252 seconds)
13:34:14 <sekun> merijn: (i'm not sure how to reply in IRC sorry). I'm not sure either. I just started with this language a couple months ago. I just see it get thrown here and there on /r/Haskell
13:34:50 <sekun> lyxia: Oh ok. So incremental refactors is the only realistic option?
13:34:59 <lyxia> yes
13:35:46 <sekun> I see
13:35:57 qrpnxz joins (~qrpnxz@user/qrpnxz)
13:36:02 <justsomeguy> (Sometimes I wonder why there aren't more Haskell compilers, maybe only covering the subset of Haskell 2010, as opposed to modern Haskell with tons of language extensions.)
13:36:58 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
13:39:02 <qrpnxz> even w/o extensions it would be pretty hard to make a haskell compiler, but without extentions it would be hard to compete as well
13:39:27 <even4void> resp <- 2:5
13:39:27 <even4void> idx <- grep("4cat", names(d))[1:12]
13:39:27 <even4void> pca <- PCA(d[, idx], graph = FALSE)
13:39:32 <lyxia> kw: is the idea that if one element fails in a list of more than one, you still get the others in the result?
13:39:47 <even4void> Wrong terminal window -- sorry for the noise!
13:40:54 chomwitt joins (~Pitsikoko@athedsl-351576.home.otenet.gr)
13:41:13 <[exa]> sekun, justsomeguy: ghc is "too good" for any simple side development to succeed, or even become visible quickly. Many people tried, tbh.
13:41:25 × janiczek quits (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 265 seconds)
13:41:54 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 265 seconds)
13:41:56 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:c14c:3118:b974:8ae3)
13:42:01 li parts (~li@libera/staff/li) ()
13:42:19 <maerwald> You can't even do transformers in haskell 2010, can you?
13:42:52 <maerwald> Or maybe not mtl
13:42:53 qrpnxz parts (~qrpnxz@user/qrpnxz) (Error from remote client)
13:42:58 <[exa]> I kindof expect that we're not getting a different haskell compiler without some significant scientifical development happening, that would e.g. substantiate a completely different type system internals or compilation method
13:43:15 <Taneb> maerwald: I think transformers is fine but mtl needs multiparam type classes and fundeps
13:43:38 <Taneb> And undecidable instances, too
13:43:40 thyriaen joins (~thyriaen@45.178.73.238)
13:45:03 <thyriaen> Howdy, friends :: I am going through a tutorial and have solved an exercise - however it feels like i did not really embrace the functional way in my answer : what would be a more ideal way to achive doubleing every 2nd entry from the back ? https://hastebin.com/neholubeke.yaml
13:45:09 <tomsmeding> justsomeguy: Helium exists https://github.com/Helium4Haskell/helium
13:45:40 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection)
13:45:40 hmmmas joins (~chenqisu1@183.217.200.246)
13:45:52 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
13:46:08 <[exa]> thyriaen: generate both possibilities on the way, and return the one that matches once you reach the end
13:46:09 <tomsmeding> it has a focus on better-quality type errors
13:46:11 <Taneb> thyriaen: I'd have two functions that call each other. One which doubles the odd elements and one which doubles the even elements. Calling "length" every recursive step is generally a sign you're doing something wrong
13:46:45 <thyriaen> Taneb, so 2 recursive functions calling eachother alternatingly ?
13:47:01 <Taneb> Yeah
13:47:02 <thyriaen> Taneb, yeath thats what i thought so too about the length thaths why i came here
13:47:20 <thyriaen> ok thanks
13:47:40 <sekun> exa: Bummer. Yeah I just checked the Haskell about its compilers, and all the others pretty much ate GHC's dust
13:48:16 <thyriaen> Taneb, but the way i see it - that doubles them from the front not form the back
13:48:35 <Taneb> thyriaen: oh, hmm
13:48:58 <Taneb> thyriaen: I didn't see that. In which case, listen to what [exa] wrote
13:48:59 qrpnxz joins (~qrpnxz@user/qrpnxz)
13:49:06 <[exa]> sekun: I'd say that technically reproducing SOME haskell isn't even a really complex task now, there are perfect tutorials for everything and type system and runtime approaches are well documented. But you kinda want a haskell that can run the stuff on Hackage, which uses a ton of the tiny extensions
13:49:19 <[exa]> which puts QUITE some overhead into the task
13:49:30 <thyriaen> [exa], not really sure how to do that
13:50:12 <thyriaen> Taneb, reversing the function twice is also bad form, right ?
13:50:37 <Taneb> It's better than taking the length every step but yes
13:50:45 Morrow_ joins (~MorrowM_@147.161.9.235)
13:51:16 <[exa]> thyriaen: let's play lego. Try to combine `repeat [id,(*2)]` with `zipWith`, and write a `isEvenLength` that doesn't use `length` because we don't need them ugly integers right?
13:52:48 <thyriaen> is repeat a haskell function ?
13:52:54 <[exa]> yap
13:52:54 <Taneb> Yes
13:53:27 <[exa]> you probably won't be able to print the result of this one (unless your ghci has magicks), but you can try `repeat [1,2,3]`
13:53:43 <[exa]> actually I meant `cycle`, sorry
13:54:00 <[exa]> `cycle [id, (*2)]` or `cycle [1,2,3]`, yeah. :D
13:54:07 × MorrowM quits (~MorrowM_@147.161.12.3) (Ping timeout: 268 seconds)
13:55:03 janiczek joins (~janiczek@89-24-215-117.customers.tmcz.cz)
13:56:03 × trcc quits (~trcc@130.225.16.16) (Remote host closed the connection)
13:56:16 <[exa]> anyway, for the first implementation, I wouldn't object just doing the stuff on a reversed list
13:56:31 trcc joins (~trcc@130.225.16.16)
13:56:45 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
13:57:00 derelict joins (~derelict@user/derelict)
13:57:34 vicfred joins (~vicfred@user/vicfred)
13:57:54 <thyriaen> you mean cycle [1,2] right ?
13:58:05 × Feuermagier_ quits (~Feuermagi@2a02:2488:4211:3400:5def:8486:9e4:b49a) (Ping timeout: 252 seconds)
13:59:14 <[exa]> yes, that may also be useful
13:59:40 × janiczek quits (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 268 seconds)
13:59:57 <thyriaen> [exa], cause with a cycled [1,2] list i can then ZipWith that with * to double every 2nd element
14:00:09 <[exa]> yeah
14:00:53 <[exa]> with the thing I wrote above, you can save some multiplication-by-1, using `zipWith ($) (repeat [id,(*2)]) yourNums`
14:01:06 <thyriaen> $ ?
14:01:38 <[exa]> that's the same $ that you use for writing `f 1 (2+3)` as `f 1 $ 2+3`
14:02:03 <thyriaen> i have not reached $ yet
14:02:10 <[exa]> ah okay worry not then
14:02:12 × trcc quits (~trcc@130.225.16.16) (Ping timeout: 265 seconds)
14:02:18 <thyriaen> yes
14:02:19 <[exa]> it just applies function on the left to the parameter on the right
14:02:26 <thyriaen> cool
14:02:38 <[exa]> really can avoid a lot of )))))))))))))
14:03:28 <thyriaen> so if i would write isEvenLength, i would go through the list and return a boolean depending when the list ends
14:03:29 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
14:03:30 o1lo01ol1o joins (~o1lo01ol1@bl7-89-228.dsl.telepac.pt)
14:04:03 <[exa]> e.g. `pure (f 1 (g 2 3))` can be written as `pure $ f 1 $ g 2 3`
14:04:05 notzmv joins (~zmv@user/notzmv)
14:05:15 <[exa]> thyriaen: yeah. Note you don't produce the unnecessary Int in the process
14:06:03 × Morrow_ quits (~MorrowM_@147.161.9.235) (Ping timeout: 258 seconds)
14:06:08 <thyriaen> [exa], so i my case i have a function toDigitsRev :: Integer -> [Integer] and i can just write reverse $ toDigitsRev [1,2] instead of reverse(toDigitsRev [1,2]) ?
14:06:33 <[exa]> yeah that should work
14:07:03 <[exa]> (at least if there aren't any more parameters to reverse, which I guess there isn't)
14:07:12 <[exa]> (aren't)
14:07:25 <thyriaen> [exa], okay thanks - I didn't fully understand how i can put these things together, but let me write up the single functions and fiddle with them a bit
14:07:36 <thyriaen> then ill be back if i can still not get the answer
14:07:58 <[exa]> ok
14:08:24 <[exa]> extra inspiration for avoiding explicit Booleans: compare (tail $ cycle [1,2]) and (id $ cycle [1,2])
14:08:50 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:08:51 <thyriaen> is id a keyword ?
14:09:22 <[exa]> no, just a normal function that doesn't change the parameter
14:09:26 <thyriaen> ok
14:09:37 <[exa]> pretty useful for various placeholding and dummy values
14:09:49 <nitrix> id x = x
14:10:22 <thyriaen> its just the idendity function
14:10:29 <[exa]> yes
14:11:28 <thyriaen> doesnt cycle need another argument how many times it needs to cycle ?
14:11:47 janiczek joins (~janiczek@89-24-215-117.customers.tmcz.cz)
14:11:48 fendor_ joins (~fendor@178.115.129.107.wireless.dyn.drei.com)
14:11:56 <Taneb> thyriaen: nope, it just keeps going
14:12:10 × Xraell quits (~yourname@45.157.15.145) (Remote host closed the connection)
14:13:06 <thyriaen> how can i make it stop T_T cycle 3 [1,2] ?
14:13:48 <tdammers> you can just take as much of it as you need
14:13:58 <thyriaen> tdammers, haha
14:14:00 <nitrix> cycle produces an infinite list but you can take a shorter list from that list.
14:14:14 × fendor quits (~fendor@91.141.3.62.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
14:15:01 <tdammers> I was being serious. Remember that Haskell does non-strict evaluation by default, so just let-binding an expression that would evaluate to an infinitely long list does not actually allocate an infinitely long list in memory, nor does it take infinitely long to bind it
14:15:17 <tdammers> that list only gets evaluated as far as is demanded
14:15:41 <tdammers> so if you say `take 10 (cycle [1,2])`, it'll evaluate as many list items as necessary to get you the first 10 elements
14:15:52 safinaskar joins (~safinaska@109.252.90.89)
14:15:55 <thyriaen> tdammers, it was funny because i did not know there was a "take" function and id did sound so natural to just take a few
14:16:10 <tdammers> well, yeah, it's called take for a reason
14:16:15 <thyriaen> ;p
14:16:26 <safinaskar> hi. https://hackage.haskell.org/package/base-4.12.0.0/docs/Control-Applicative.html says that "fmap f x = pure f <*> x" follows from other applicative laws. how to prove this?
14:16:45 <nitrix> Alternatively, you could use `replicate`, which accepts a number of times and something to replicate, so `replicate 3 [1,2]`, but that would produce the list [[1,2], [1,2], [1,2]] which you would then have to concatenate them all as [1,2,1,2,1,2] with the function `concat`.
14:17:10 <nitrix> % concat $ replicate 3 [1,2]
14:17:10 <yahb> nitrix: [1,2,1,2,1,2]
14:17:38 Sgeo joins (~Sgeo@user/sgeo)
14:18:30 <nitrix> It avoids the little bit of arithmetic of multiplying the cycle count with the cycle length to `take` the right amount.
14:22:46 <[exa]> thyriaen: zipWith automagically truncates the longer list for you
14:22:49 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
14:23:21 <[exa]> > zipWith (+) (cycle [1,2]) [1,2,3,4]
14:23:23 <lambdabot> [2,4,4,6]
14:24:04 <lyxia> safinaskar: \f x -> pure f <*> x satisfies the functor laws and by parametricity there is only one function that satisfies the functor laws.
14:24:56 <safinaskar> lyxia: "parametricity" - you mean theorems for free?
14:25:04 <lyxia> yes
14:25:09 <safinaskar> thanks
14:26:57 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
14:27:00 <kw> `<*>` still has to satisfy the Applicative laws for that to work, though.
14:27:23 <lyxia> yeah but the question is about why the docs say "follows from the other applicative laws"
14:27:23 <kw> As does `pure` .
14:28:16 fendor_ is now known as fendor
14:30:03 <kw> Right. I'm just saying that 'It follows from the Applicative laws' by parametricity.' does not explain why that is true.
14:31:06 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 240 seconds)
14:31:36 × kw quits (~user@152.1.137.158) (Quit: work)
14:32:35 finsternis joins (~X@23.226.237.192)
14:33:11 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
14:33:22 × trent2 quits (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 244 seconds)
14:35:27 geekosaur joins (~geekosaur@xmonad/geekosaur)
14:38:17 <thyriaen> [exa], neat ! how considerate of zipWith
14:38:32 safinaskar parts (~safinaska@109.252.90.89) ()
14:39:06 <thyriaen> [exa], but in essence, i have to run length on my initial list first to check which one to take, no ?
14:39:31 <thyriaen> or how do i get the oddness of the list without the explict boolean ?
14:40:10 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.1)
14:40:33 Guest31 joins (~Guest31@202.166.32.155)
14:42:41 <Guest31> is this the correct place to ask beginner questions regarding Haskell? I just started on the fp-course on windows and was facing some difficulty with basic setup
14:44:12 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
14:45:09 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 258 seconds)
14:45:16 <[exa]> thyriaen: you can return `id` if the length's even or `tail` if the length is odd, and just apply that to the `cycle [1,2]` to conditionally drop the first item
14:45:48 × curiousgay quits (~curiousgg@178.217.208.8) (Remote host closed the connection)
14:45:53 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
14:46:05 curiousgay joins (~curiousgg@178.217.208.8)
14:46:18 <thyriaen> [exa], yea - but in order to determine that i have to first check if the length is indeed odd or even
14:46:21 <thyriaen> i cannot get around that
14:46:54 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
14:47:23 <L29Ah> hello, i'm trying to use the new OverloadedRecordDot syntax extension, i've enabled it and dependencies, and now have the following error in irrelevant code:
14:47:23 <L29Ah> Not in scope: ‘setField’
14:47:23 <L29Ah> 94 | let preTAM = def{salt = salt}
14:47:28 <L29Ah> do i need to import something else?
14:47:58 × mikail__ quits (~mikail@90.212.77.3) (Ping timeout: 252 seconds)
14:50:32 hounded joins (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com)
14:50:58 <hounded> #
14:51:25 × nerdypepper quits (~nerdypepp@user/nerdypepper) (Quit: bye)
14:51:26 <Guest31> i've cloned the fp-course directory and used chocolatey to install make; i've also installed stack and am able to execute stack ghci without issue for example. However if i try make GHCI i get the following error:
14:51:30 <Guest31> STACK_YAML="stack.yaml" stack ghci course:lib
14:51:30 <Guest31> 'STACK_YAML' is not recognized as an internal or external command,
14:51:30 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:51:31 <Guest31> operable program or batch file.
14:51:31 <Guest31> make: *** [Makefile:22: ghci] Error 1
14:52:24 <Guest31> if anyone could help with this it would be greatly appreciated; I'm trying to get this to work on a windows 10 machine for reference. Am a haskell beginner trying to do the fp-course
14:52:42 nerdypepper joins (~nerdypepp@user/nerdypepper)
14:52:50 <Las[m]> This isn't really a solution, but I suggest you'd really do all development through WSL
14:53:34 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
14:54:24 <Las[m]> Does anyone know why you can't call into Haskell again from an unsafe foreign call?
14:54:59 <jiribenes> Guest31: maybe try first setting the variable, 'SET STACK_YAML="stack.yaml"' and then run 'stack ghci course:lib'?
14:55:09 <merijn> Las[m]: Because the capability is locked
14:56:08 <Las[m]> merijn: Thanks that makes sense
14:56:23 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
14:57:05 <Guest31> jiribenes: do you mean setting an environment variable? sorry i'm really new and not sure where i should change this setting
14:58:21 <jiribenes> Guest31: try first writting the command 'SET STACK_YAML="stack.yaml"' to the command line
14:58:32 <jiribenes> and after that write 'stacj ghci course:lib'
14:58:42 <jiribenes> sorry, 'stack ghci course:lib'
14:58:44 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection)
14:58:54 <Guest31> Getting project config file from STACK_YAML environment
14:58:54 <Guest31> InvalidAbsFile "D:\\Documents\\GitHub\\fp-course\\\"stack.yaml\""
14:59:11 <Guest31> i just tried that; it then gives me this error
14:59:50 <jiribenes> maybe try setting it without the quote marks, that is 'SET STACK_YAML=stack.yaml'
15:00:10 × GIANTWORLDKEEPER quits (~pjetcetal@2.95.227.207) (Quit: EXIT)
15:00:59 <Guest31> jiribenes: it worked!! thank you so much
15:03:33 <Guest31> can I also ask if anyone knows where stack downloads its files? and if its possible to change this. Reading through the documentation it sounded like stack downloads a local copy of ghc for each project? i'm not sure if i understood correctly
15:04:08 <Guest31> not really an issue at present; but in general if stack sets up and downloads files for me to do things, i was hoping to check where the downloaded files go
15:05:25 <Boarders> Does anyone know if in a stack yaml file if I can overwrite a $everything flag with a $locals flag, e.g. if I pass `-O2` to $everything and -O1 to $locals then which one wins?
15:08:51 × o1lo01ol1o quits (~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Remote host closed the connection)
15:14:42 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:f76a:37dd:7d13:fae6) (Ping timeout: 264 seconds)
15:15:09 martinjaniczek joins (~janiczek@89-24-44-164.nat.epc.tmcz.cz)
15:15:49 × janiczek quits (~janiczek@89-24-215-117.customers.tmcz.cz) (Ping timeout: 258 seconds)
15:16:11 argento joins (~argent0@168-227-96-26.ptr.westnet.com.ar)
15:16:57 safinaskar joins (~safinaska@109.252.90.89)
15:18:01 × Guest31 quits (~Guest31@202.166.32.155) (Quit: Client closed)
15:20:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
15:20:28 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
15:20:30 × sekun quits (~sekun@180.190.208.125) (Ping timeout: 265 seconds)
15:20:38 <safinaskar> % proof :: forall (a :: *). (forall (x :: a). x :~: x) -> (forall (x :: a). x :~: x); proof = error ""
15:20:38 <yahb> safinaskar: ; <interactive>:49:93: error:; * Couldn't match expected type `(forall (x :: a). x :~: x) -> forall (x :: a). x :~: x' with actual type `a0'; Cannot instantiate unification variable `a0'; with a type involving polytypes: (forall (x :: a). x :~: x) -> forall (x :: a). x :~: x; * In the expression: error ""; In an equation for `proof': proof = error ""; * Relevant bindings inc
15:20:48 <safinaskar> why this gives compilation error?
15:20:56 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection)
15:21:08 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
15:21:16 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection)
15:22:47 GIANTWORLDKEEPER joins (~pjetcetal@2.95.227.207)
15:22:54 ezzieygu1wuf is now known as ezzieyguywuf
15:23:13 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
15:23:16 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:23:31 gentauro joins (~gentauro@user/gentauro)
15:25:14 derelict joins (~derelict@user/derelict)
15:26:27 <c_wraith> safinaskar: the error message seems pretty specific "Cannot instantiate unification variable `a0'; with a type involving polytypes:"
15:27:17 <c_wraith> safinaskar: that particular case might seem obvious, but the larger technique is not
15:27:32 <safinaskar> c_wraith: okey, but how this is possible that (error "") cannot match with (proof)? (error) has type (forall a. String -> a)
15:27:47 <safinaskar> c_wraith: so (error "") should match with everything, right?
15:28:33 <c_wraith> safinaskar: because it needs to unify the type of (error "") with the type you provided
15:28:52 <lyxia> "forall a" does not mean a can literally be anything in existence.
15:28:52 × maroloccio quits (~marolocci@189.15.9.54) (Quit: Client closed)
15:29:04 <c_wraith> safinaskar: and that unification fails because it would require a polytype
15:29:17 <lyxia> there is a range of things a can be, and polytypes are not among them.
15:29:19 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
15:29:36 <c_wraith> safinaskar: What version of GHC are you using?
15:30:40 × pbrisbin quits (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Quit: WeeChat 3.1)
15:30:41 <safinaskar> c_wraith: 9.2.0.20210422 (latest which can be installed using ghcup)
15:30:53 pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net)
15:31:05 <c_wraith> do you have -XImpredicativeTypes on?
15:31:13 × pbrisbin quits (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Client Quit)
15:31:27 pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net)
15:31:58 <c_wraith> I'm not sure about the limits of the new implementation for it. It *might* be able to handle this case.
15:32:39 <safinaskar> c_wraith: lyxia: thanks, what are polytypes?
15:33:33 <safinaskar> c_wraith: i didn't have ImpredicativeTypes . now i enabled it, and the code works. thanks!
15:33:33 × martinjaniczek quits (~janiczek@89-24-44-164.nat.epc.tmcz.cz) (Read error: Connection reset by peer)
15:34:14 <c_wraith> a polytype is essentially a type with a forall anywhere other than the top level
15:34:16 martinjaniczek joins (~janiczek@89-24-215-117.customers.tmcz.cz)
15:35:03 <c_wraith> (I'm sure you could find some counterexamples that you need a more precise definition to deal with, but that's a good starting point)
15:35:14 <lyxia> (short for "types with polymorphism")
15:38:48 <c_wraith> In any case, -XImpredicativeTypes exists specifically to allow unification to work with polytypes
15:39:07 <c_wraith> It has some limits - you can get sophisticated enough that it gives up.
15:40:01 × pbrisbin quits (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Quit: WeeChat 3.1)
15:40:42 pbrisbin joins (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net)
15:41:27 <monochrom> IIRC 9.2 uses what's on the QuickLook impredicavity paper, so it is fairly well-defined what it tries.
15:42:17 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
15:43:45 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
15:43:46 <c_wraith> yeah, I just don't know what the limits are - I haven't read the paper.
15:44:00 <monochrom> Ha nice ghcup knows 9.2 prerelease.
15:47:52 <monochrom> The nice thing is if you don't know, but you have had experience and good habits in handwriting type sigs for ordinary Haskell code, you won't be surprised about where you need to handwrite types.
15:48:18 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 264 seconds)
15:48:22 <monochrom> A long way to say "intuitive" but it's a vague and much abused word.
15:48:23 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:48:24 Morrow_ joins (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net)
15:53:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
15:55:38 lbseale joins (~lbseale@user/ep1ctetus)
15:55:47 × Morrow_ quits (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 265 seconds)
15:56:10 safinaskar parts (~safinaska@109.252.90.89) ()
15:59:54 o is now known as niko
16:00:58 fef joins (~thedawn@user/thedawn)
16:01:59 <tomsmeding> % proof :: forall (a :: *). (forall (x :: a). x :~: x) -> (forall (x :: a). x :~: x); proof _ = error ""
16:01:59 <yahb> tomsmeding:
16:02:13 <tomsmeding> (added a _ argument)
16:03:47 × xff0x quits (~xff0x@2001:1a81:5218:4800:1515:545a:1239:1833) (Ping timeout: 244 seconds)
16:04:38 xff0x joins (~xff0x@2001:1a81:5218:4800:ee:cf49:8e18:79e1)
16:07:00 Erutuon joins (~Erutuon@user/erutuon)
16:07:01 Arsen is now known as ArsenArsen
16:07:09 ArsenArsen is now known as Arsen
16:07:42 Arsen is now known as ArsenArsen
16:07:53 moet joins (~moet@172.58.35.6)
16:09:30 pragma- is now known as garp
16:09:34 garp is now known as pragma-
16:10:47 _________ is now known as noodly
16:10:51 noodly is now known as __________
16:11:01 __________ is now known as _________
16:12:26 safinaskar joins (~safinaska@109.252.90.89)
16:12:39 <safinaskar> why this code doesn't compile? https://paste.debian.net/1202044/
16:13:06 <safinaskar> I see error: "Illegal equational constraint a ~ a (Use GADTs or TypeFamilies to permit this)"
16:13:20 <safinaskar> how GADTs and TypeFamilies are related to my code?
16:14:01 <Cale> They both need type equalities to work
16:14:33 <Cale> It's possible that there ought to be a third extension TypeEqualities that they both imply, but there isn't.
16:14:47 <tomsmeding> % proof :: forall (a :: *). (forall (x :: a). x :~: x) -> (forall (x :: a). x :~: x); proof _ = error "" -- safinaskar
16:14:48 <yahb> tomsmeding:
16:14:57 <tomsmeding> (note the _)
16:15:51 hrnz is now known as Henselierung
16:15:56 × hiruji quits (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in)
16:16:13 hiruji joins (~hiruji@user/hiruji)
16:16:16 <safinaskar> Cale: thanks
16:16:25 lavaman joins (~lavaman@98.38.249.169)
16:16:33 <safinaskar> tomsmeding: thanks. i already enabled typeimpredicativity, and it works
16:17:13 × hiruji quits (~hiruji@user/hiruji) (Client Quit)
16:17:17 hounded_woodstoc joins (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com)
16:17:29 hounded_1969 joins (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com)
16:17:32 hiruji joins (~hiruji@user/hiruji)
16:18:11 × hiruji quits (~hiruji@user/hiruji) (Client Quit)
16:18:29 hiruji joins (~hiruji@user/hiruji)
16:18:46 <thyriaen> i thought that the point of reduce & fold to use it on monoids so it doesnt matter in which order the operation is applied, why is there foldl foldr foldt - when i use it for + for example i dont care bout the order
16:18:48 × hounded_1969 quits (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Client Quit)
16:20:05 × wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 272 seconds)
16:23:00 wagle joins (~wagle@quassel.wagle.io)
16:23:35 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:23:39 <Cale> thyriaen: Not necessarily
16:24:03 <Cale> There are plenty of cases where the type of the result does not even match the type of elements in the list
16:24:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:25:47 safinaskar parts (~safinaska@109.252.90.89) ()
16:25:54 safinaskar joins (~safinaska@109.252.90.89)
16:25:56 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:26:01 <safinaskar> why this doesn't compile? https://paste.debian.net/1202047/
16:27:00 <Cale> safinaskar: Because 3868 still hasn't gotten merged ;)
16:27:42 × wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds)
16:27:43 xkuru joins (~xkuru@user/xkuru)
16:27:50 <safinaskar> Cale: please, give a link
16:27:52 × xkuru quits (~xkuru@user/xkuru) (Remote host closed the connection)
16:28:01 <Cale> https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3868/
16:28:14 xkuru joins (~xkuru@user/xkuru)
16:28:31 <Cale> (I need to update some test outputs, and rebase it right now, as it happens...)
16:29:21 <Cale> safinaskar: Note that regardless, pr would be dead code, since you could never actually satisfy its constraint in order to use it
16:29:38 <Cale> But it's probable that this should merely be a warning.
16:30:35 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
16:31:07 <Cale> Oh, actually, I'm not even sure 3868 will save you here
16:31:22 × ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds)
16:32:13 <Cale> Haven't thought much about the case with QuantifiedConstraints...
16:33:24 <safinaskar> i changed type to this: "pr :: forall a. (forall b. a ~ b) => Int", and i still get same error
16:33:48 <safinaskar> but not this constraint is satisfable!
16:34:27 <Cale> That's still not going to be satisfiable... there's no type which is equal to every other type
16:34:36 wagle joins (~wagle@quassel.wagle.io)
16:35:35 <Cale> Did you just want forall a b. (a ~ b) => Int ? This is merely ambiguous.
16:35:55 <Cale> (since a and b are unused by the rest of the type)
16:36:19 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:38:14 <Cale> What behaviour do you get if you turn on AllowAmbiguousTypes by the way?
16:38:43 Guest75 joins (~Guest75@166.70.242.157)
16:38:44 <safinaskar> Cale: "Did you just want forall a b. (a ~ b) => Int" - of course, no. My final goal is to compile this code: https://paste.debian.net/1202048/
16:39:10 <safinaskar> Cale: i want to compile it to prove functor law from applicative laws
16:39:27 <safinaskar> Cale: i am curious whether this is possible using haskell type system
16:39:55 <safinaskar> so now i go through ghc errors which are show when i try to compile this code
16:40:20 <Cale> If it was possible, I still wouldn't trust the result :P
16:40:49 <safinaskar> Cale: why?
16:42:42 <dminuoso> Why is a proof of type inequality not something we can express?
16:43:28 × wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds)
16:43:33 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
16:43:33 <Cale> Well, maybe that's a little unfair, but we're using a whole bunch of type system features which haven't been around very long, and GHC's type checker is a giant and complicated beast. There's no shortage of weird bugs.
16:43:42 wagle joins (~wagle@quassel.wagle.io)
16:44:10 fef joins (~thedawn@user/thedawn)
16:44:44 peterhil_ joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
16:44:49 <Cale> dminuoso: You want something like (a :~: b) -> Void ?
16:45:19 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Read error: Connection reset by peer)
16:45:40 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:45:52 <dminuoso> Cale: No, Im just curious why we dont have something like (a :!~: b)
16:46:01 <dminuoso> I dont have any acute need, it's just curiosity
16:46:24 <Cale> You typically can't do very much with the information that two types are not equal
16:47:52 <Cale> Knowing that two types *are* equal lets you apply functions that operate on one of the types to values of the other, for example.
16:47:57 hexfive joins (~eric@50.35.83.177)
16:48:07 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
16:48:16 <Cale> But knowing that they aren't equal doesn't really give you any additional permission that you wouldn't have otherwise had.
16:49:11 × hexfive quits (~eric@50.35.83.177) (Client Quit)
16:50:25 <dminuoso> Cale: Well but at the same time I do have something like (==) so I can express: (a == b) ~ 'False => ...
16:50:48 × wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds)
16:50:48 <dminuoso> Is that not the same amount of information?
16:51:29 <Cale> I suppose, but what do you do with that?
16:51:55 wagle joins (~wagle@quassel.wagle.io)
16:52:51 <Cale> For something like a promoted data type, where you're pretending that Haskell is dependently typed and doing some sort of type level computations, doing inequality tests at the type level might make sense.
16:52:59 <safinaskar> dminuoso: try to express type inequality using this: (forall x. (a ~ b) => x). this essentially means a is not equal to b
16:53:28 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
16:53:47 Morrow_ joins (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net)
16:54:20 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 258 seconds)
16:55:13 <tomsmeding> Cale: perhaps to exclude a particular branch in a case expression?
16:55:24 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
16:55:54 × Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
16:56:50 × Topsi1 quits (~Tobias@dyndsl-095-033-016-151.ewe-ip-backbone.de) (Read error: Connection reset by peer)
16:58:43 ph88 joins (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5)
16:58:45 × justBull quits (~justache@user/justache) (Remote host closed the connection)
16:59:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
16:59:58 justBull joins (~justache@user/justache)
16:59:59 <Cale> tomsmeding: You mean like, reflecting the work of the pattern match checker back into the type system?
17:00:58 × wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 268 seconds)
17:01:04 × argento quits (~argent0@168-227-96-26.ptr.westnet.com.ar) (Ping timeout: 252 seconds)
17:01:20 wagle joins (~wagle@quassel.wagle.io)
17:01:23 oats is now known as ot
17:01:29 ot is now known as ailur
17:01:31 ailur is now known as hugs
17:01:33 hugs is now known as oats
17:01:38 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
17:02:40 <dminuoso> Cale: So I havent done much type level programming, but I'd have thought that knowing whether type types are equal might be as interesting as knowing that they are not.
17:02:45 <dminuoso> Perhaps Im wrong
17:02:48 <thyriaen> guys
17:02:54 <thyriaen> i think i am in love
17:02:57 <tomsmeding> Cale: my point was that theoretically, you might be able to have e.g. data Foo a where { A :: Int -> Foo 'True ; B :: Bool -> Foo 'False } ; foo :: (a !~ 'False) => Foo a -> Int ; foo (A i) = i
17:03:11 <tomsmeding> and then the pattern match checker would be fine with that because of the inequality context
17:03:14 <thyriaen> why do non-functional languages even exist
17:03:21 <tomsmeding> not sure how useful this ability would even be
17:03:32 Erutuon joins (~Erutuon@user/erutuon)
17:04:02 <tomsmeding> thyriaen: ease of compiler implementation, more control over the compiled form, more natural expression of imperative algorithms, inertia
17:04:11 <tomsmeding> not necessarily in that order :p
17:04:17 <dminuoso> tomsmeding: Because it took decades before a half way efficient encoding of a lazy functional programming language was found. Imperative languages tend to be simpler to compile into locally good code?
17:04:36 <Cale> thyriaen: Because lots of stuff got done before people had any idea how to compile functional programs into a reasonably efficient form, and people kept using those languages because relearning how to program is annoying.
17:04:41 <dminuoso> Err thyriaen ^-
17:05:13 econo joins (uid147250@user/econo)
17:05:36 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
17:06:21 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 265 seconds)
17:06:34 × chomwitt quits (~Pitsikoko@athedsl-351576.home.otenet.gr) (Ping timeout: 252 seconds)
17:06:38 <safinaskar> thyriaen: ha-ha. i hate haskell. currently i write my parser lib in haskell and my prover in haskell. The whole reason why i pick haskell is this: because I already wrote a lot of code. :) If I started now, I'd pick rust. because it is impure. and gives full control on speed
17:08:37 <mikko> isn't that how it usually goes, every language seems really good until you do something bigger with and then it's too late to change :)
17:09:17 arjun joins (~user@user/arjun)
17:09:59 <arjun> hi all
17:10:01 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
17:10:09 <tomsmeding> safinaskar: this experimentation with moving stuff to the type level that you're doing would be completely impossible from the start in rust :p
17:10:25 <arjun> how do i deal with if this throws an error ?-> https://hackage.haskell.org/package/directory-1.3.6.2/docs/System-Directory.html#v:removeDirectory
17:10:57 <safinaskar> tomsmeding: yes, still rust has more benefits
17:11:29 Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
17:11:32 <tomsmeding> safinaskar: for your purpose / in your opinion :)
17:11:36 × haveo quits (~haveo@sl35.iuwt.fr) (Quit: leaving)
17:11:39 <Cale> tomsmeding: Which is possibly a point in rust's favour on its own, since it would save him wasting time messing around with fancy types, haha :D
17:11:46 <tomsmeding> :D
17:12:10 <safinaskar> tomsmeding: also, surprisingly, c++ has dependent types! (but arguments to type-level expressions should be compile-time values)
17:12:17 × jess quits (~jess@libera/staff/jess) ()
17:12:36 <tomsmeding> and rust is getting that same capability (const generics)
17:12:38 <Cale> For some value of "has", yeah
17:13:21 <dminuoso> GHC Haskell has capabilities too!
17:13:50 <tomsmeding> % Control.Concurrent.getNumCapabilities
17:13:51 <yahb> tomsmeding: 1
17:14:28 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
17:14:56 × curiousgay quits (~curiousgg@178.217.208.8) (Remote host closed the connection)
17:14:56 <tomsmeding> arjun: try 'catch' from Control.Exception
17:15:12 curiousgay joins (~curiousgg@178.217.208.8)
17:15:46 × alx741 quits (~alx741@181.196.68.152) (Ping timeout: 268 seconds)
17:18:11 × Guest75 quits (~Guest75@166.70.242.157) (Quit: Ping timeout (120 seconds))
17:18:51 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
17:18:51 <safinaskar> tomsmeding: C++ can be used as a prover! look here: https://godbolt.org/z/MzhedqeKE . I can write more code to show the point, i. e. give some example proofs
17:20:05 chisui joins (~chisui@200116b866492700f0ddc72238639ee4.dip.versatel-1u1.de)
17:20:38 sheepduck joins (~sheepduck@user/sheepduck)
17:20:40 <tomsmeding> hah, neat
17:20:45 <chisui> Hey, is there a reason why there are no closed data families?
17:21:29 <Cale> The static nature of template instantiation will eventually get in your way trying to do that stuff in C++, and of course the syntax is insanely cumbersome and not really meant for that, but you can do a fair amount.
17:22:11 <Cale> chisui: How would that differ from a GADT?
17:22:42 <chisui> Cale You can't have the instance be newtypes.
17:22:55 <Cale> ah, fair
17:26:03 haveo joins (~haveo@sl35.iuwt.fr)
17:27:20 <safinaskar> Cale: "What behaviour do you get if you turn on AllowAmbiguousTypes by the way?": my (final) code still gives nearly same error if I enable AllowAmbiguousTypes: https://paste.debian.net/1202054/
17:28:00 Guest9 joins (~Guest9@43.250.158.34)
17:28:28 alx741 joins (~alx741@181.196.68.156)
17:28:49 <arjun> tomsmeding: i'll do that, thanks!
17:31:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:32:17 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
17:33:10 <Cale> safinaskar: On 3868, your code compiles without warning, but I'm not sure I'm actually happy about that, since an attempt to use proof will result in a type error.
17:36:30 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
17:36:40 × kuribas quits (~user@ptr-25vy0i89phmaoo2wmls.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
17:37:00 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
17:41:46 × azeem quits (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) (Ping timeout: 252 seconds)
17:42:32 azeem joins (~azeem@176.201.6.138)
17:45:53 × thyriaen quits (~thyriaen@45.178.73.238) (Quit: Leaving)
17:47:08 safinaskar parts (~safinaska@109.252.90.89) ()
17:47:25 notzmv joins (~zmv@user/notzmv)
17:49:23 safinaskar joins (~safinaska@109.252.90.89)
17:51:34 <safinaskar> is there any other uses for GADTs except for writing type checkers and provers?
17:53:27 <dminuoso> No, they were built for that sole usage. They are forbidden for all other things like modelling ASTs
17:53:47 <dminuoso> (that was sarcasm, by the way)
17:56:06 × azeem quits (~azeem@176.201.6.138) (Read error: Connection reset by peer)
17:56:26 × arjun quits (~user@user/arjun) (Ping timeout: 258 seconds)
17:56:38 <safinaskar> dminuoso: "modelling ASTs" - this is type checking, again. is there any example where GADTs can be used for AST modeling, but not for type checking?
17:56:48 <dminuoso> this is not type checking.
17:58:10 azeem joins (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it)
17:58:48 × fresheyeball quits (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
18:00:00 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
18:00:07 <tomsmeding> safinaskar: probably no, but "provers" is very general
18:00:42 __monty__ is now known as SirJection
18:00:49 <tomsmeding> e.g. a compiler can represent the AST of the program being compiled with a GADT; by doing so, the act of writing the compiler using that data type proves that all compiler passes are type-correct with respect to the language being compiled
18:00:58 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
18:01:10 SirJection is now known as __monty__
18:02:08 <tomsmeding> it's a partial version of dependent typing, so I guess it's similar answers as the same question for "dependent types" would have
18:02:23 <safinaskar> ok
18:06:28 <dminuoso> tomsmeding: re "type-correct" - Im not sure that really holds.
18:07:29 <tomsmeding> for a narrow enough definition of "type-correct" :)
18:07:34 × vicfred quits (~vicfred@user/vicfred) (Ping timeout: 268 seconds)
18:07:40 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
18:07:48 <tomsmeding> you know that the output of the compiler pass is valid in the object type system
18:08:07 <tomsmeding> but this says precious little about actual semantical correctness of the pass
18:08:21 <dminuoso> Sure, but you could still have a separate type system imposing additional constraints, like maybe there's polymorphism that the GADTs dont express or phantom types maybe
18:08:32 × dsf quits (~dsf@cpe-66-75-56-205.san.res.rr.com) (Quit: Konversation terminated!)
18:08:45 dsf joins (~dsf@cpe-66-75-56-205.san.res.rr.com)
18:08:46 <tomsmeding> right, if there are type system features that the GADT doesn't express, you don't prove anything about that
18:08:49 × martinjaniczek quits (~janiczek@89-24-215-117.customers.tmcz.cz) (Quit: WeeChat 3.2)
18:12:00 <Cale> safinaskar: GADTs are rather good for protocols, because you can index a "query" type by the type of response you'll receive back.
18:12:37 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:13:58 <Cale> You can also use fairly simple GADTs along with DMap to have "extensible records" of a sort -- the GADT values become like "structured field labels"
18:15:49 TranquilEcho joins (~grom@user/tranquilecho)
18:17:43 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
18:19:10 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
18:19:10 × azeem quits (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it) (Read error: Connection reset by peer)
18:19:12 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Remote host closed the connection)
18:19:18 altern joins (~altern@altern.corbina.com.ua)
18:19:48 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
18:20:19 azeem joins (~azeem@dynamic-adsl-84-220-246-231.clienti.tiscali.it)
18:20:21 <maerwald> Do we have a pure haskell implementation of `findmnt`?
18:22:49 Xe_ joins (~cadey@tailscale/xe)
18:22:51 × Xe quits (~cadey@tailscale/xe) (Killed (zirconium.libera.chat (Nickname regained by services)))
18:22:51 Xe_ is now known as Xe
18:23:48 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Ping timeout: 244 seconds)
18:24:50 <safinaskar> ok, thanks
18:25:42 × mcglk quits (~mcglk@131.191.49.120) (Quit: (seeya))
18:26:03 mcglk joins (~mcglk@131.191.49.120)
18:26:29 <safinaskar> maerwald: you mean linux util findmnt? it essentially reads from /proc/mounts (and /proc/self/mountinfo) and adds some formatting
18:27:23 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Ping timeout: 268 seconds)
18:28:13 ph88 joins (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5)
18:28:49 <maerwald> yes
18:31:28 <safinaskar> maerwald: i think this is trivial to write haskell program which converts that two files to findmnt output
18:31:37 <maerwald> Also, it does a little more than that
18:31:55 ArsenArsen is now known as Arsen
18:32:11 <maerwald> Yeah, I know I can code everything myself
18:36:57 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
18:37:19 × curiousgay quits (~curiousgg@178.217.208.8) (Remote host closed the connection)
18:37:30 curiousgay joins (~curiousgg@178.217.208.8)
18:40:03 <__monty__> Does anyone know where I can find Okasaki's Maxiphobic heaps paper from 2005? Came across a dead link, http://www.eecs.usma.edu/webs/people/okasaki/sigcse05.pdf
18:42:49 <shachaf> That's a nice paper.
18:43:03 <shachaf> The title is "Alternatives to Two Classic Data Structures", that should help you find it.
18:43:24 <shachaf> It looks like Google has links? If not I have a copy.
18:44:11 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
18:44:37 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
18:44:45 × hounded_woodstoc quits (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Quit: Leaving)
18:44:55 <__monty__> shachaf: Ah, thanks, I thought "Maxphobic heaps" was the title.
18:44:58 <__monty__> <3
18:45:40 shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
18:45:54 DkHmmEbpohxS joins (~DkHmmEbpo@88.155.49.35)
18:45:54 <DkHmmEbpohxS> 1I8eRA.ChAT 15 4 Sc4M, C0M3 8ACk T0 frEenodE
18:45:55 × DkHmmEbpohxS quits (~DkHmmEbpo@88.155.49.35) (Client Quit)
18:48:01 <chisui> are there any resources on what `magicDict` does? I saw it in the internals of `GHC.TypeNats` and I'm it seems really magic.
18:52:10 <chisui> Ok, found something https://ghc-compiler-notes.readthedocs.io/en/latest/notes/compiler/basicTypes/MkId.hs.html
18:52:34 <tomsmeding> chisui: also check out this email thread: https://mail.haskell.org/pipermail/ghc-devs/2021-April/019833.html
18:55:28 <lyxia> chisui: it's also being replaced with withDict, and there are some notes about this new version https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/HsToCore/Expr.hs#L1307
18:56:12 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
18:56:54 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
18:57:18 × altern quits (~altern@altern.corbina.com.ua) (Ping timeout: 252 seconds)
18:59:18 × curiousgay quits (~curiousgg@178.217.208.8) (Remote host closed the connection)
18:59:47 curiousgay joins (~curiousgg@178.217.208.8)
18:59:47 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:00:33 × sheepduck quits (~sheepduck@user/sheepduck) (Read error: Connection reset by peer)
19:02:56 <maerwald> safinaskar: https://hackage.haskell.org/package/mountpoints-1.0.2/docs/System-MountPoints.html
19:03:19 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
19:03:24 MoC joins (~moc@user/moc)
19:03:45 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
19:04:16 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 252 seconds)
19:04:28 <geekosaur> if you want portability, it won't be there; every system has its own way to record mount points
19:05:09 <geekosaur> linux does it one way, freebsd another, darwin a third
19:05:58 <chisui> tomsmeding, lyxia: Thanks, that's some deep magic
19:06:34 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
19:07:47 × Alex_test quits (~al_test@178.34.150.65) (Quit: ;-)
19:08:16 × AlexZenon quits (~alzenon@178.34.150.65) (Quit: ;-)
19:08:25 moet_ joins (~moet@172.58.27.140)
19:08:46 tzar_bomba joins (~tzar_bomb@78-56-41-78.static.zebra.lt)
19:09:27 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
19:10:04 chomwitt joins (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
19:11:36 × moet quits (~moet@172.58.35.6) (Ping timeout: 252 seconds)
19:15:31 ddellacosta joins (~ddellacos@ool-44c73aff.dyn.optonline.net)
19:16:34 AlexZenon joins (~alzenon@178.34.150.65)
19:16:59 × wrunt quits (~ajc@vmx14030.hosting24.com.au) (Ping timeout: 272 seconds)
19:17:08 <maerwald> geekosaur: "Works on: Linux, BSD, Mac OS X, Android"
19:17:45 <geekosaur> the utility may, the files it reads don't
19:18:17 dhil joins (~dhil@80.208.56.181)
19:18:19 <maerwald> did you read the implementation?
19:18:29 Alex_test joins (~al_test@178.34.150.65)
19:18:32 wrunt joins (~ajc@vmx14030.hosting24.com.au)
19:18:58 vicfred joins (~vicfred@user/vicfred)
19:18:58 <davean> geekosaur: i'm confused - what are you talking about?
19:19:36 <geekosaur> there's a linux-commpatible /proc inplementation for freebsd but it's not mounted by default and is mounted in a different place when it is (BSD /proc is different)
19:19:57 <maerwald> it uses libmount.h
19:20:01 <davean> Yah
19:20:09 <davean> I have no idea why you're mentioning that geekosaur
19:20:34 zeenk joins (~zeenk@2a02:2f04:a00e:6e00:d401:4c92:fecc:16f9)
19:20:42 <davean> geekosaur: it says nothing about /proc
19:20:47 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
19:21:18 <geekosaur> <safinaskar> maerwald: you mean linux util findmnt? it essentially reads from /proc/mounts (and /proc/self/mountinfo) and adds some formatting
19:21:20 <davean> sorry, theres one comment about the C implimentation
19:21:32 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
19:22:18 <geekosaur> plus I've written such tilities (granted, over a decade ago) and had to do something different on every system
19:22:23 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
19:22:39 <davean> geekosaur: right, but it uses libmount.h
19:22:48 <geekosaur> some of which hopefully nobody cares about any more (looking at you hp/ux)
19:22:50 <davean> which does the different thing on different systems
19:23:38 <maerwald> the implementation looks portable
19:23:51 <davean> geekosaur: I'm a little confused if you're paying attention to this conversation or not
19:23:59 <davean> we keep saying "its not the thing you keep claiming it is"
19:24:59 × fendor quits (~fendor@178.115.129.107.wireless.dyn.drei.com) (Remote host closed the connection)
19:25:03 <maerwald> but... is libmount.h in POSIX? Can't find it
19:25:36 <davean> maerwald: Its uh, well theres a few versions of it
19:25:48 <davean> maerwald: and its SysV
19:26:04 <davean> yah, thats complicated
19:26:14 <davean> sorry, the functions
19:26:18 <davean> so hence libmount.h
19:26:26 <maerwald> It seems to be bundled
19:26:34 <davean> ight
19:27:07 × qbt quits (~edun@user/edun) (Ping timeout: 268 seconds)
19:27:13 <maerwald> and I can't read it on my phone... since it's an obscure git repo :p
19:27:42 fendor joins (~fendor@178.115.129.107.wireless.dyn.drei.com)
19:28:55 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
19:32:12 × Guest9 quits (~Guest9@43.250.158.34) (Quit: Connection closed)
19:32:20 ec joins (~ec@gateway/tor-sasl/ec)
19:32:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:34:11 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
19:34:22 MoC joins (~moc@user/moc)
19:35:07 <maerwald> So it seems it uses /etc/mtab and falls back to /proc on android
19:36:06 × dhil quits (~dhil@80.208.56.181) (Ping timeout: 258 seconds)
19:39:28 × wrunt quits (~ajc@vmx14030.hosting24.com.au) (Ping timeout: 252 seconds)
19:40:32 Deide joins (~Deide@wire.desu.ga)
19:40:32 × Deide quits (~Deide@wire.desu.ga) (Changing host)
19:40:32 Deide joins (~Deide@user/deide)
19:41:14 <maerwald> mtab is specified by glibc
19:41:34 <maerwald> https://www.gnu.org/software/libc/manual/html_node/Mount-Information.html
19:42:37 wrunt joins (~ajc@vmx14030.hosting24.com.au)
19:44:44 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:47:32 <__monty__> Anyone know what "PFDS on SSDs for performance reasons" might refer to? The accompanying url is useless, http://rethinkdb.com/jobs/ It must be something to do with functional data structures.
19:47:37 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
19:48:53 <shachaf> I would guess "purely functional data structure".
19:49:38 <tdammers> that, or "Primary Flight Displays"
19:49:43 geekosaur joins (~geekosaur@xmonad/geekosaur)
19:51:28 dhil joins (~dhil@195.213.192.47)
19:51:45 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev)
19:55:15 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
19:57:12 BosonCollider joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
19:57:15 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
19:57:26 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Remote host closed the connection)
19:59:18 <tchakka> ... what is the currently recommended way of generating random numbers? Is StdGen still bad?
20:00:11 <dminuoso> First you have to explain what kind of randomness you want
20:00:41 × moet_ quits (~moet@172.58.27.140) (Quit: leaving)
20:01:05 notzmv joins (~zmv@user/notzmv)
20:01:09 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:02:39 blackfield joins (~blackfiel@85.255.4.218)
20:04:55 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:05:04 Kobold joins (~koboldchi@12.18.150.83)
20:05:14 × juhp quits (~juhp@128.106.188.66) (Ping timeout: 258 seconds)
20:05:16 <Cajun> how about cryptographic-level randomness?
20:05:18 <tchakka> Of the pseudo-variety >_> My current use-case does not care about cryptographic security one way or the other. It's pretty much a shuffling algorithm and a "pick one from a set of X" thingy.
20:05:49 <dminuoso> tchakka: Also, you might be happy to find out that many of the old issues were addressed: https://github.com/haskell/random/pull/61
20:05:53 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
20:06:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
20:06:37 <tchakka> Oooh!
20:07:35 juhp joins (~juhp@128.106.188.66)
20:09:50 <lyxia> yes, now it's "use random"
20:11:28 <tchakka> Then I will gladly use that, until I need something fancy and/or I suddenly know what I'm doing.
20:12:06 × derelict quits (~derelict@user/derelict) (Ping timeout: 244 seconds)
20:13:34 mc47 joins (~mc47@xmonad/TheMC47)
20:14:36 <sclv> random is actually really good and fancy now, under the hood
20:14:49 <sclv> so even for Most Uses of Most People that know what they're doing, its the right choice
20:16:39 gehmehgeh joins (~user@user/gehmehgeh)
20:16:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8) (Remote host closed the connection)
20:18:41 pavonia joins (~user@user/siracusa)
20:19:02 × ddellacosta quits (~ddellacos@ool-44c73aff.dyn.optonline.net) (Ping timeout: 258 seconds)
20:24:00 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:24:12 × awth13 quits (~user@user/awth13) (Ping timeout: 252 seconds)
20:27:13 themc47 joins (~mc47@xmonad/TheMC47)
20:29:50 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 265 seconds)
20:32:16 × deshalb quits (~deshalb@user/deshalb) (Quit: leaving)
20:32:39 mc47 joins (~mc47@xmonad/TheMC47)
20:34:06 × themc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds)
20:39:14 × peterhil_ quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
20:39:51 peterhil_ joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
20:42:00 × Kobold quits (~koboldchi@12.18.150.83) (Quit: Leaving)
20:43:21 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
20:46:32 safinaskar parts (~safinaska@109.252.90.89) ()
20:47:25 safinaskar joins (~safinaska@109-252-90-89.nat.spd-mgts.ru)
20:48:17 <safinaskar> geekosaur: so you wrote portable utils for various systems, including hp/ux? it's cool. and you did it in time when hp/ux was relevant?
20:48:29 <geekosaur> yes
20:49:26 <dsal> Is there a way to ask hoogle what instances of X it knows?
20:50:46 <safinaskar> geekosaur: how to know which unixes are relevant and which are not? maybe there is some hypothetical site with regularly updated list "this systems are relevant"? :)
20:51:13 derelict joins (~derelict@user/derelict)
20:51:19 × curiousgay quits (~curiousgg@178.217.208.8) (Remote host closed the connection)
20:51:26 <geekosaur> linux more or less killed off commercial unix
20:51:34 curiousgay joins (~curiousgg@178.217.208.8)
20:52:14 <geekosaur> (unfortunately since linux often is the worst or near worst implementation of many things)
20:53:08 <maerwald> And has a dictator who celebrates rudeness :p
20:54:31 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:55:52 safinaskar parts (~safinaska@109-252-90-89.nat.spd-mgts.ru) ()
20:56:32 × nvmd quits (~nvmd@user/nvmd) (Ping timeout: 268 seconds)
20:57:24 <sclv> dsal: sadly, not that i know of
20:58:14 nvmd joins (~nvmd@user/nvmd)
20:58:17 <dsal> Kind of odd. I'll just do a lock haddock. :)
21:03:21 × nf quits (~n@monade.li) (Quit: Fairfarren.)
21:03:51 nf joins (~n@monade.li)
21:04:32 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
21:05:12 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e846:fcb5:a54b:afb8)
21:06:14 <gentauro> glguy: I saw this message "two week two hour rule". Does it mean that when I go on a 3 week holiday, my IRC account will be removed?
21:06:34 × derelict quits (~derelict@user/derelict) (Ping timeout: 258 seconds)
21:08:09 <ChaiTRex> gentauro: No: https://github.com/Libera-Chat/libera-chat.github.io/commit/cf52115#commitcomment-52513840
21:08:29 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 258 seconds)
21:09:08 <glguy> gentauro: have you been using your whole account longer than 2 hours so far?
21:09:57 × nf quits (~n@monade.li) (Quit: Fairfarren.)
21:10:09 nf joins (~n@monade.li)
21:10:24 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Remote host closed the connection)
21:10:47 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 258 seconds)
21:12:09 mc47 joins (~mc47@xmonad/TheMC47)
21:12:45 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Remote host closed the connection)
21:12:56 mikail__ joins (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf)
21:16:21 lavaman joins (~lavaman@98.38.249.169)
21:20:06 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 265 seconds)
21:20:45 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
21:24:01 derelict joins (~derelict@user/derelict)
21:29:58 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:33:22 curiousggay_ joins (~curiousgg@178.217.208.8)
21:34:09 <gentauro> yes
21:34:21 <gentauro> I use it with a machine (ssh+screen)
21:34:46 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:35:24 <gentauro> ChaiTRex: thx :)
21:35:42 × curiousgay quits (~curiousgg@178.217.208.8) (Ping timeout: 258 seconds)
21:36:06 aostiles joins (uid505622@id-505622.stonehaven.irccloud.com)
21:37:51 argento joins (~argent0@168-227-96-26.ptr.westnet.com.ar)
21:38:33 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:39:03 × SoF quits (~skius@user/skius) (Quit: Ping timeout (120 seconds))
21:39:47 SoF joins (~skius@user/skius)
21:46:34 lavaman joins (~lavaman@98.38.249.169)
21:46:57 mikail_ joins (~mikail@90.212.77.3)
21:47:43 × derelict quits (~derelict@user/derelict) (Ping timeout: 268 seconds)
21:49:26 × mikail__ quits (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Ping timeout: 244 seconds)
21:49:30 × haskl quits (~haskeller@user/haskl) (Ping timeout: 264 seconds)
21:51:18 warnz joins (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb)
21:55:38 × warnz quits (~warnz@2600:1700:77c0:5610:799f:ce24:eb20:cceb) (Ping timeout: 244 seconds)
21:57:31 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
21:59:22 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:59:26 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 268 seconds)
21:59:44 × michalz quits (~michalz@185.246.204.61) (Remote host closed the connection)
22:00:00 <Boarders> is there anywhere that lists which flag -O2 turns on?
22:00:34 x_kuru joins (~xkuru@user/xkuru)
22:00:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:01:48 <geekosaur> "The easiest way to see what -O (etc.) “really mean” is to run with -v, then stand back in amazement.
22:01:48 <geekosaur> "
22:02:11 <geekosaur> presumably it's listed in the source code somewhere
22:02:30 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:02:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:03:04 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:03:18 × xkuru quits (~xkuru@user/xkuru) (Ping timeout: 258 seconds)
22:10:16 <Cale> Boarders: https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Driver/Session.hs#L3850
22:11:58 <Cale> also https://downloads.haskell.org/ghc/latest/docs/html/users_guide/flags.html#options-f-compact
22:14:17 × SoF quits (~skius@user/skius) (Read error: Connection reset by peer)
22:14:39 SoF joins (~skius@user/skius)
22:16:05 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:18:20 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
22:21:32 × SoF quits (~skius@user/skius) (Ping timeout: 252 seconds)
22:23:40 SoF joins (~skius@user/skius)
22:25:37 derelict joins (~derelict@user/derelict)
22:26:47 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
22:27:34 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5) (Quit: Leaving)
22:29:50 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
22:29:50 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
22:34:35 × Morrow_ quits (~MorrowM_@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 268 seconds)
22:36:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
22:41:56 × GIANTWORLDKEEPER quits (~pjetcetal@2.95.227.207) (Quit: EXIT)
22:43:20 o1lo01ol1o joins (~o1lo01ol1@bl7-89-228.dsl.telepac.pt)
22:45:55 GIANTWORLDKEEPER joins (~pjetcetal@2.95.227.207)
22:47:46 × o1lo01ol1o quits (~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Ping timeout: 258 seconds)
22:52:13 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:c14c:3118:b974:8ae3) (Quit: Leaving)
22:52:44 <dminuoso> Boarders: There's also a bunch of things that get activated simply based on optimization level without any more granular flags.
22:54:41 <dminuoso> https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/StgToCmm/Layout.hs#L215
22:55:07 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:56:01 <dminuoso> https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Cmm/Pipeline.hs#L146
22:56:04 <dminuoso> And few others
22:57:41 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
22:58:22 × tzar_bomba quits (~tzar_bomb@78-56-41-78.static.zebra.lt) (Quit: Client closed)
22:59:58 geekosaur joins (~geekosaur@xmonad/geekosaur)
23:01:27 safinaskar joins (~safinaska@109-252-90-89.nat.spd-mgts.ru)
23:01:29 <safinaskar> https://paste.debian.net/1202082/
23:01:33 <safinaskar> why this doesn't compile?
23:03:29 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
23:04:16 × shutdown_-h_now quits (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 268 seconds)
23:05:06 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
23:06:57 × obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
23:09:07 obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl)
23:09:20 mpt joins (~tom@2a02:908:1862:49e0::3)
23:09:34 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
23:09:44 × alex3 quits (~alex3@BSN-77-82-41.static.siol.net) (Ping timeout: 268 seconds)
23:09:45 <eggplantade> Perhaps it doesn't instantiate parameteric types under @
23:10:00 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
23:10:23 shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
23:10:31 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
23:10:38 <eggplantade> oh, it went the other way
23:11:54 Erutuon joins (~Erutuon@user/erutuon)
23:12:18 <eggplantade> From the error message, it instantiated `IId` as `k -> k` for some new type variable k
23:14:04 <eggplantade> This is the same as how when you use the function `id`, the type is `a -> a` for some new type variable a. The type is not `forall a. a -> a`
23:14:12 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
23:19:05 × chomwitt quits (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 252 seconds)
23:21:53 <Axman6> is there a way to get cabal to build docs for all dependencies of a package locally?
23:22:34 alex3 joins (~alex3@bsn-77-82-41.static.siol.net)
23:22:41 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
23:23:28 × mpt quits (~tom@2a02:908:1862:49e0::3) (Ping timeout: 244 seconds)
23:25:45 <safinaskar> eggplantade: the error persists even if I write xx @(IId :: (forall (k :: Type). k -> k))
23:31:50 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
23:34:11 henninb joins (~henninb@63.226.174.157)
23:40:40 × chisui quits (~chisui@200116b866492700f0ddc72238639ee4.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
23:42:08 <eggplantade> I just noticed you defined IId as a type synonym
23:42:54 <eggplantade> a type family
23:44:03 <eggplantade> I think that is the problem. There are restrictions on how you can apply type families to arguments
23:44:07 <janus> Axman6: i know you said cabal, but seems like stack can do it: https://www.reddit.com/r/haskell/comments/3glp5v/how_to_download_a_set_of_packages_and/ctz9mw4/
23:44:08 <eggplantade> Can you use a newtype family instead
23:44:21 trent2 joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
23:44:45 <janus> another person in the thread claims that cabal can do it if you pass --reinstall
23:45:44 <safinaskar> eggplantade: this is type synonym, not type family
23:46:06 <safinaskar> eggplantade: i don't want newtype family. i want type synonym (or type family)
23:46:30 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 264 seconds)
23:47:28 × zeenk quits (~zeenk@2a02:2f04:a00e:6e00:d401:4c92:fecc:16f9) (Quit: Konversation terminated!)
23:47:34 <eggplantade> hmm. I haven't seen that syntax with type synonyms before
23:48:09 <eggplantade> The way you are using IId looks like you are trying to use a type-level function. However, you can't do that.
23:49:12 × yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 268 seconds)
23:52:00 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
23:53:12 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:53:15 chisui joins (~chisui@200116b866492700342cdc4d594c896c.dip.versatel-1u1.de)
23:55:02 <safinaskar> eggplantade: yes, i want this
23:55:09 <safinaskar> eggplantade: why i cannot do this?
23:55:33 fef joins (~thedawn@user/thedawn)
23:55:53 <eggplantade> The type checker's job is to decide whether types are equal, but it is undecidable whether two functions are equal
23:55:58 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
23:56:41 <safinaskar> eggplantade: please give some link about this
23:59:33 <janus> if you can't know whether an arbitrary recursive function terminates, how would you know if it is equal? i wonder if it follows from the Entscheidungsproblem
23:59:56 × hounded quits (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Quit: Leaving)

All times are in UTC on 2021-06-22.